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 |
Simple configuration management using Pydantic. |
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 |
Camera configuration classes for MolmoSpaces experiments. |
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
action_dtype |
str
|
|
added_objects |
dict[str, Path]
|
|
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
|
|
object_poses
class-attribute
instance-attribute
¶
referral_expressions_priority
class-attribute
instance-attribute
¶
tracked_object_names
class-attribute
instance-attribute
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
save_to_json
¶
to_dict
¶
BaseMujocoTaskSamplerConfig
¶
Bases: Config
Base configuration for task samplers.
A task is sampled based on this configuration.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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
|
|
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
|
|
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
¶
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
¶
randomize_robot_textures
class-attribute
instance-attribute
¶
robot_placement_exclusion_threshold
class-attribute
instance-attribute
¶
robot_placement_rotation_range_rad
class-attribute
instance-attribute
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
save_to_json
¶
to_dict
¶
BasePolicyConfig
¶
Bases: Config
Base configuration for policies.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
force_enable_depth |
bool
|
If true, require all cameras to record depth. |
policy_cls |
type[BasePolicy]
|
|
policy_factory |
PolicyFactory
|
Factory function to create the policy instance from a config and task, can be same as |
policy_type |
str
|
|
force_enable_depth
class-attribute
instance-attribute
¶
If true, require all cameras to record depth. In eval the cameras will be overridden, otherwise it will just require the camera system config to enable depth.
policy_factory
instance-attribute
¶
policy_factory: PolicyFactory
Factory function to create the policy instance from a config and task, can be same as policy_cls.
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
save_to_json
¶
to_dict
¶
BaseRobotConfig
¶
Bases: Config
Base configuration for robot setup.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
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 |
Load the configuration from a JSON file. |
model_post_init |
Ensure action_noise_config is always initialized, even when loading from old configs. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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]
|
|
force_limit |
list[float] | None
|
|
gravcomp |
bool
|
|
init_qpos |
dict[str, list[float]]
|
|
init_qpos_noise_range |
dict[str, list[float]] | None
|
|
name |
str | None
|
|
robot_cls |
type[Robot] | None
|
|
robot_dir |
Path | None
|
|
robot_factory |
Callable[[MjData, Any], Robot] | None
|
|
robot_namespace |
str
|
|
robot_view_factory |
RobotViewFactory | None
|
|
robot_xml_path |
Path
|
|
action_noise_config
class-attribute
instance-attribute
¶
action_noise_config: ActionNoiseConfig | None = None
Config
¶
get_robot_dir
¶
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot.
get_robot_xml_path
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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).
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
fov |
float | None
|
|
is_warped |
bool
|
|
name |
str
|
|
record_depth |
bool
|
|
skip_erosion |
bool
|
|
visibility_constraints |
dict[str, float] | None
|
|
visibility_constraints
class-attribute
instance-attribute
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
save_to_json
¶
to_dict
¶
CameraSystemConfig
¶
Bases: Config
Complete camera system configuration.
Defines all cameras that should be set up in the environment, along with shared settings like resolution.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
Create a configuration instance from a dictionary. |
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[AllCameraTypes]
|
|
img_resolution |
tuple[int, int]
|
|
Config
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
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¶
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
forward |
list[float]
|
|
fov |
float | None
|
|
is_warped |
bool
|
|
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
|
|
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
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
Create a configuration instance from a dictionary. |
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[AllCameraTypes]
|
|
img_resolution |
tuple[int, int]
|
|
cameras
class-attribute
instance-attribute
¶
cameras: list[AllCameraTypes] = [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})]
Config
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
Create a configuration instance from a dictionary. |
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[AllCameraTypes]
|
|
img_resolution |
tuple[int, int]
|
|
cameras
class-attribute
instance-attribute
¶
cameras: list[AllCameraTypes] = [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)]
Config
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
save_to_json
¶
to_dict
¶
FrankaRobotConfig
¶
Bases: BaseRobotConfig
Configuration for Franka FR3 robot.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
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 |
Load the configuration from a JSON file. |
model_post_init |
Ensure action_noise_config is always initialized, even when loading from old configs. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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]
|
|
force_limit |
list[float] | None
|
|
gravcomp |
bool
|
|
init_qpos |
dict[str, list[float]]
|
|
init_qpos_noise_range |
dict[str, list[float]] | None
|
|
name |
str
|
|
perturb_texture_probability |
float
|
|
robot_cls |
type[FrankaRobot] | None
|
|
robot_dir |
Path | None
|
|
robot_factory |
Callable[[MjData, Any], Robot] | None
|
|
robot_namespace |
str
|
|
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
¶
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]}
perturb_texture_probability
class-attribute
instance-attribute
¶
robot_factory
class-attribute
instance-attribute
¶
robot_factory: Callable[[MjData, Any], Robot] | None = FrankaRobot
robot_view_factory
class-attribute
instance-attribute
¶
robot_view_factory: RobotViewFactory | None = FrankaDroidRobotView
Config
¶
get_robot_dir
¶
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot.
get_robot_xml_path
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
fov |
float | None
|
|
fov_noise_degrees |
tuple[float, float] | None
|
|
is_warped |
bool
|
|
mjcf_name |
str
|
|
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
¶
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
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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 |
|---|---|
Config |
|
SavedEpisode |
Config informationd describing a sinlge episode |
Methods:
| Name | Description |
|---|---|
freeze_task_config |
Saves the state of a sampled task i.e. an episode |
from_dict |
Create a configuration instance from a dictionary. |
load_config |
Loads a configuration from a file |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
This serves as the init() called after internal validation of config parameters |
save_config |
Saves the current configuration to the output directory |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
CameraConfig |
type
|
|
PolicyConfig |
type
|
|
RobotConfig |
type
|
|
benchmark_path |
Path | None
|
|
camera_config |
CameraSystemConfig | None
|
|
collision_free_pose_limit |
int
|
|
config_version |
str
|
|
ctrl_dt_ms |
float
|
|
data_split |
str
|
|
datagen_profiler |
bool
|
|
end_on_success |
bool
|
|
environment_light_intensity |
float
|
|
eval_runtime_params |
Any
|
|
filter_for_successful_trajectories |
bool
|
|
fps |
float
|
|
log_level |
str
|
|
num_envs |
int
|
|
num_workers |
int
|
|
output_dir |
Path
|
|
policy_config |
BasePolicyConfig
|
|
policy_dt_ms |
float
|
|
profile |
bool
|
|
profiler |
Profiler | None
|
|
robot_config |
BaseRobotConfig
|
|
scene_dataset |
str
|
|
seed |
int | None
|
|
sim_dt_ms |
float
|
|
tag |
str
|
A string describing the experiment. |
task_config |
AllTaskConfigs
|
|
task_config_preset_exp |
AllTaskConfigs | None
|
|
task_config_preset_scn |
AllTaskConfigs | None
|
|
task_horizon |
int | None
|
|
task_sampler_config |
BaseMujocoTaskSamplerConfig
|
|
task_type |
str
|
|
use_passive_viewer |
bool
|
|
use_wandb |
bool
|
|
viewer_cam_dict |
dict
|
|
wandb_name |
str | None
|
|
wandb_project |
str | None
|
|
environment_light_intensity
class-attribute
instance-attribute
¶
filter_for_successful_trajectories
class-attribute
instance-attribute
¶
task_config_preset_exp
class-attribute
instance-attribute
¶
task_config_preset_exp: AllTaskConfigs | None = None
task_config_preset_scn
class-attribute
instance-attribute
¶
task_config_preset_scn: AllTaskConfigs | None = None
Config
¶
SavedEpisode
¶
Bases: Config
Config informationd describing a sinlge episode
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
camera_config |
AllCameraSystems | None
|
|
robot_config |
BaseRobotConfig | None
|
|
task_cls_str |
str | None
|
|
task_config |
AllTaskConfigs | None
|
|
freeze_task_config
¶
freeze_task_config(observation, task: BaseMujocoTask = None) -> None
Saves the state of a sampled task i.e. an episode
Source code in molmo_spaces/configs/abstract_exp_config.py
load_config
staticmethod
¶
load_config(output_dir: Path) -> MlSpacesExpConfig
Loads a configuration from a file
Source code in molmo_spaces/configs/abstract_exp_config.py
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
model_post_init
¶
This serves as the init() called after internal validation of config parameters
Source code in molmo_spaces/configs/abstract_exp_config.py
save_config
¶
Saves the current configuration to the output directory
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
action_dtype |
str
|
|
added_objects |
dict[str, Path]
|
|
enable_rendering |
bool
|
|
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
|
|
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
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
save_to_json
¶
to_dict
¶
PickTaskSamplerConfig
¶
Bases: ObjectCentricTaskSamplerConfig
Configuration for Franka move-to-pose task sampler.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
|
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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
¶
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
¶
objaverse_oversampling_factor
class-attribute
instance-attribute
¶
object_placement_radius_range
class-attribute
instance-attribute
¶
randomize_robot_textures
class-attribute
instance-attribute
¶
receptacle_types
class-attribute
instance-attribute
¶
receptacle_types: list[str] = tuple(RECEPTACLE_TYPES_THOR)
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
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
Create a configuration instance from a dictionary. |
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[AllCameraTypes]
|
|
img_resolution |
tuple[int, int]
|
|
cameras
class-attribute
instance-attribute
¶
cameras: list[AllCameraTypes] = [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)]
Config
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
save_to_json
¶
to_dict
¶
RBY1MjcfCameraSystem
¶
Bases: CameraSystemConfig
Camera system using RBY1's built-in MJCF cameras.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
Create a configuration instance from a dictionary. |
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[AllCameraTypes]
|
|
img_resolution |
tuple[int, int]
|
|
cameras
class-attribute
instance-attribute
¶
cameras: list[AllCameraTypes] = [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/')]
Config
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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).
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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
|
|
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
¶
visibility_constraints
class-attribute
instance-attribute
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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]
|
|
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
¶
orientation_noise_degrees
class-attribute
instance-attribute
¶
pos_noise_range
class-attribute
instance-attribute
¶
visibility_constraints
class-attribute
instance-attribute
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
save_to_json
¶
to_dict
¶
abstract_config
¶
Simple configuration management using Pydantic. This module provides a base configuration class that can be extended to create specific configurations. It uses Pydantic for data validation and can return dicts or jsons or save or load jsons from files.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
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 |
|---|---|
Config |
|
SavedEpisode |
Config informationd describing a sinlge episode |
Methods:
| Name | Description |
|---|---|
freeze_task_config |
Saves the state of a sampled task i.e. an episode |
from_dict |
Create a configuration instance from a dictionary. |
load_config |
Loads a configuration from a file |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
This serves as the init() called after internal validation of config parameters |
save_config |
Saves the current configuration to the output directory |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
CameraConfig |
type
|
|
PolicyConfig |
type
|
|
RobotConfig |
type
|
|
benchmark_path |
Path | None
|
|
camera_config |
CameraSystemConfig | None
|
|
collision_free_pose_limit |
int
|
|
config_version |
str
|
|
ctrl_dt_ms |
float
|
|
data_split |
str
|
|
datagen_profiler |
bool
|
|
end_on_success |
bool
|
|
environment_light_intensity |
float
|
|
eval_runtime_params |
Any
|
|
filter_for_successful_trajectories |
bool
|
|
fps |
float
|
|
log_level |
str
|
|
num_envs |
int
|
|
num_workers |
int
|
|
output_dir |
Path
|
|
policy_config |
BasePolicyConfig
|
|
policy_dt_ms |
float
|
|
profile |
bool
|
|
profiler |
Profiler | None
|
|
robot_config |
BaseRobotConfig
|
|
scene_dataset |
str
|
|
seed |
int | None
|
|
sim_dt_ms |
float
|
|
tag |
str
|
A string describing the experiment. |
task_config |
AllTaskConfigs
|
|
task_config_preset_exp |
AllTaskConfigs | None
|
|
task_config_preset_scn |
AllTaskConfigs | None
|
|
task_horizon |
int | None
|
|
task_sampler_config |
BaseMujocoTaskSamplerConfig
|
|
task_type |
str
|
|
use_passive_viewer |
bool
|
|
use_wandb |
bool
|
|
viewer_cam_dict |
dict
|
|
wandb_name |
str | None
|
|
wandb_project |
str | None
|
|
environment_light_intensity
class-attribute
instance-attribute
¶
filter_for_successful_trajectories
class-attribute
instance-attribute
¶
task_config_preset_exp
class-attribute
instance-attribute
¶
task_config_preset_exp: AllTaskConfigs | None = None
task_config_preset_scn
class-attribute
instance-attribute
¶
task_config_preset_scn: AllTaskConfigs | None = None
Config
¶
SavedEpisode
¶
Bases: Config
Config informationd describing a sinlge episode
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
camera_config |
AllCameraSystems | None
|
|
robot_config |
BaseRobotConfig | None
|
|
task_cls_str |
str | None
|
|
task_config |
AllTaskConfigs | None
|
|
freeze_task_config
¶
freeze_task_config(observation, task: BaseMujocoTask = None) -> None
Saves the state of a sampled task i.e. an episode
Source code in molmo_spaces/configs/abstract_exp_config.py
load_config
staticmethod
¶
load_config(output_dir: Path) -> MlSpacesExpConfig
Loads a configuration from a file
Source code in molmo_spaces/configs/abstract_exp_config.py
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
model_post_init
¶
This serves as the init() called after internal validation of config parameters
Source code in molmo_spaces/configs/abstract_exp_config.py
save_config
¶
Saves the current configuration to the output directory
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 |
|---|---|
Config |
|
SavedEpisode |
Config informationd describing a sinlge episode |
Methods:
| Name | Description |
|---|---|
freeze_task_config |
Saves the state of a sampled task i.e. an episode |
from_dict |
Create a configuration instance from a dictionary. |
load_config |
Loads a configuration from a file |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
Initialize and validate configuration after Pydantic model initialization |
save_config |
Saves the current configuration to the output directory |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
camera_config
class-attribute
instance-attribute
¶
camera_config: RBY1MjcfCameraSystem = RBY1MjcfCameraSystem()
environment_light_intensity
class-attribute
instance-attribute
¶
filter_for_successful_trajectories
class-attribute
instance-attribute
¶
policy_config
class-attribute
instance-attribute
¶
policy_config: BasePolicyConfig = AStarNavToObjPolicyConfig()
task_config
class-attribute
instance-attribute
¶
task_config: NavToObjTaskConfig = NavToObjTaskConfig(task_cls=NavToObjTask)
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
task_config_preset_scn
class-attribute
instance-attribute
¶
task_config_preset_scn: AllTaskConfigs | None = None
task_sampler_config
class-attribute
instance-attribute
¶
task_sampler_config: NavToObjTaskSamplerConfig = NavToObjTaskSamplerConfig(task_sampler_class=NavToObjTaskSampler)
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])}
Config
¶
SavedEpisode
¶
Bases: Config
Config informationd describing a sinlge episode
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
camera_config |
RBY1MjcfCameraSystem | None
|
|
robot_config |
RBY1Config | None
|
|
task_cls_str |
str | None
|
|
task_config |
NavToObjTaskConfig | None
|
|
camera_config
class-attribute
instance-attribute
¶
camera_config: RBY1MjcfCameraSystem | None = None
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
save_to_json
¶
to_dict
¶
freeze_task_config
¶
freeze_task_config(observation, task: BaseMujocoTask = None) -> None
Saves the state of a sampled task i.e. an episode
Source code in molmo_spaces/configs/abstract_exp_config.py
load_config
staticmethod
¶
load_config(output_dir: Path) -> MlSpacesExpConfig
Loads a configuration from a file
Source code in molmo_spaces/configs/abstract_exp_config.py
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
model_post_init
¶
Initialize and validate configuration after Pydantic model initialization
Source code in molmo_spaces/configs/base_nav_to_obj_config.py
save_config
¶
Saves the current configuration to the output directory
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 |
|---|---|
Config |
|
SavedEpisode |
Config informationd describing a sinlge episode |
Methods:
| Name | Description |
|---|---|
freeze_task_config |
Saves the state of a sampled task i.e. an episode |
from_dict |
Create a configuration instance from a dictionary. |
load_config |
Loads a configuration from a file |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
Initialize and validate configuration after Pydantic model initialization |
save_config |
Saves the current configuration to the output directory |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
camera_config
class-attribute
instance-attribute
¶
camera_config: FrankaRandomizedD405D455CameraSystem = FrankaRandomizedD405D455CameraSystem()
environment_light_intensity
class-attribute
instance-attribute
¶
filter_for_successful_trajectories
class-attribute
instance-attribute
¶
policy_config
class-attribute
instance-attribute
¶
policy_config: BasePolicyConfig = OpenClosePlannerPolicyConfig()
task_config
class-attribute
instance-attribute
¶
task_config: OpeningTaskConfig = OpeningTaskConfig(task_cls=OpeningTask, task_success_threshold=0.85, joint_index=0, any_inst_of_category=False)
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
task_config_preset_scn
class-attribute
instance-attribute
¶
task_config_preset_scn: AllTaskConfigs | None = None
task_sampler_config
class-attribute
instance-attribute
¶
task_sampler_config: OpenTaskSamplerConfig = OpenTaskSamplerConfig(task_sampler_class=OpenTaskSampler, target_initial_state_open_percentage=0.5)
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]}
wandb_project
class-attribute
instance-attribute
¶
Config
¶
SavedEpisode
¶
Bases: Config
Config informationd describing a sinlge episode
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
camera_config |
AllCameraSystems | None
|
|
robot_config |
FrankaRobotConfig | None
|
|
task_cls_str |
str | None
|
|
task_config |
PickTaskConfig | None
|
|
freeze_task_config
¶
freeze_task_config(observation, task: BaseMujocoTask = None) -> None
Saves the state of a sampled task i.e. an episode
Source code in molmo_spaces/configs/abstract_exp_config.py
load_config
staticmethod
¶
load_config(output_dir: Path) -> MlSpacesExpConfig
Loads a configuration from a file
Source code in molmo_spaces/configs/abstract_exp_config.py
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
model_post_init
¶
Initialize and validate configuration after Pydantic model initialization
Source code in molmo_spaces/configs/base_pick_config.py
save_config
¶
Saves the current configuration to the output directory
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 |
|---|---|
Config |
|
SavedEpisode |
Config informationd describing a sinlge episode |
Methods:
| Name | Description |
|---|---|
freeze_task_config |
Saves the state of a sampled task i.e. an episode |
from_dict |
Create a configuration instance from a dictionary. |
load_config |
Loads a configuration from a file |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
Initialize and validate configuration after Pydantic model initialization |
save_config |
Saves the current configuration to the output directory |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
camera_config
class-attribute
instance-attribute
¶
camera_config: FrankaRandomizedD405D455CameraSystem = FrankaRandomizedD405D455CameraSystem()
environment_light_intensity
class-attribute
instance-attribute
¶
filter_for_successful_trajectories
class-attribute
instance-attribute
¶
policy_config
class-attribute
instance-attribute
¶
policy_config: BasePolicyConfig = OpenClosePlannerPolicyConfig()
task_config
class-attribute
instance-attribute
¶
task_config: OpeningTaskConfig = OpeningTaskConfig(task_cls=OpeningTask, task_success_threshold=0.15, joint_index=0, any_inst_of_category=True)
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
task_config_preset_scn
class-attribute
instance-attribute
¶
task_config_preset_scn: AllTaskConfigs | None = None
task_sampler_config
class-attribute
instance-attribute
¶
task_sampler_config: OpenTaskSamplerConfig = OpenTaskSamplerConfig(task_sampler_class=OpenTaskSampler, target_initial_state_open_percentage=0)
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]}
wandb_project
class-attribute
instance-attribute
¶
Config
¶
SavedEpisode
¶
Bases: Config
Config informationd describing a sinlge episode
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
camera_config |
AllCameraSystems | None
|
|
robot_config |
FrankaRobotConfig | None
|
|
task_cls_str |
str | None
|
|
task_config |
PickTaskConfig | None
|
|
freeze_task_config
¶
freeze_task_config(observation, task: BaseMujocoTask = None) -> None
Saves the state of a sampled task i.e. an episode
Source code in molmo_spaces/configs/abstract_exp_config.py
load_config
staticmethod
¶
load_config(output_dir: Path) -> MlSpacesExpConfig
Loads a configuration from a file
Source code in molmo_spaces/configs/abstract_exp_config.py
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
model_post_init
¶
Initialize and validate configuration after Pydantic model initialization
Source code in molmo_spaces/configs/base_pick_config.py
save_config
¶
Saves the current configuration to the output directory
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 |
|---|---|
Config |
|
SavedEpisode |
Config informationd describing a sinlge episode |
Methods:
| Name | Description |
|---|---|
freeze_task_config |
Saves the state of a sampled task i.e. an episode |
from_dict |
Create a configuration instance from a dictionary. |
load_config |
Loads a configuration from a file |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
Initialize and validate configuration after Pydantic model initialization |
save_config |
Saves the current configuration to the output directory |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
camera_config
class-attribute
instance-attribute
¶
camera_config: FrankaRandomizedD405D455CameraSystem = FrankaRandomizedD405D455CameraSystem()
environment_light_intensity
class-attribute
instance-attribute
¶
filter_for_successful_trajectories
class-attribute
instance-attribute
¶
policy_config
class-attribute
instance-attribute
¶
policy_config: PickAndPlacePlannerPolicyConfig = PickAndPlacePlannerPolicyConfig()
task_config
class-attribute
instance-attribute
¶
task_config: PackingTaskConfig = PackingTaskConfig(task_cls=PackingTask)
task_config_preset
class-attribute
instance-attribute
¶
task_config_preset: PickTaskConfig | None = None
task_config_preset_exp
class-attribute
instance-attribute
¶
task_config_preset_exp: AllTaskConfigs | None = None
task_config_preset_scn
class-attribute
instance-attribute
¶
task_config_preset_scn: AllTaskConfigs | None = None
task_sampler_config
class-attribute
instance-attribute
¶
task_sampler_config: PackingTaskSamplerConfig = PackingTaskSamplerConfig(task_sampler_class=PackingTaskSampler, pickup_types=PICK_AND_PLACE_OBJECTS, samples_per_house=20)
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]}
wandb_project
class-attribute
instance-attribute
¶
Config
¶
SavedEpisode
¶
Bases: Config
Config informationd describing a sinlge episode
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
camera_config |
AllCameraSystems | None
|
|
robot_config |
FrankaRobotConfig | None
|
|
task_cls_str |
str | None
|
|
task_config |
PickTaskConfig | None
|
|
freeze_task_config
¶
freeze_task_config(observation, task: BaseMujocoTask = None) -> None
Saves the state of a sampled task i.e. an episode
Source code in molmo_spaces/configs/abstract_exp_config.py
load_config
staticmethod
¶
load_config(output_dir: Path) -> MlSpacesExpConfig
Loads a configuration from a file
Source code in molmo_spaces/configs/abstract_exp_config.py
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
model_post_init
¶
Initialize and validate configuration after Pydantic model initialization
Source code in molmo_spaces/configs/base_pick_config.py
save_config
¶
Saves the current configuration to the output directory
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 |
|---|---|
Config |
|
SavedEpisode |
Config informationd describing a sinlge episode |
Methods:
| Name | Description |
|---|---|
freeze_task_config |
Saves the state of a sampled task i.e. an episode |
from_dict |
Create a configuration instance from a dictionary. |
load_config |
Loads a configuration from a file |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
Initialize and validate configuration after Pydantic model initialization |
save_config |
Saves the current configuration to the output directory |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
camera_config
class-attribute
instance-attribute
¶
camera_config: FrankaRandomizedD405D455CameraSystem = FrankaRandomizedD405D455CameraSystem()
environment_light_intensity
class-attribute
instance-attribute
¶
filter_for_successful_trajectories
class-attribute
instance-attribute
¶
output_dir
class-attribute
instance-attribute
¶
output_dir: Path = ASSETS_DIR / 'experiment_output' / 'datagen' / 'pick_and_place_color_base_v1'
policy_config
class-attribute
instance-attribute
¶
policy_config: PickAndPlaceColorPlannerPolicyConfig = PickAndPlaceColorPlannerPolicyConfig()
task_config
class-attribute
instance-attribute
¶
task_config: PickAndPlaceColorTaskConfig = PickAndPlaceColorTaskConfig(task_cls=PickAndPlaceColorTask)
task_config_preset
class-attribute
instance-attribute
¶
task_config_preset: PickTaskConfig | None = None
task_config_preset_exp
class-attribute
instance-attribute
¶
task_config_preset_exp: AllTaskConfigs | None = None
task_config_preset_scn
class-attribute
instance-attribute
¶
task_config_preset_scn: AllTaskConfigs | None = None
task_sampler_config
class-attribute
instance-attribute
¶
task_sampler_config: PickAndPlaceColorTaskSamplerConfig = PickAndPlaceColorTaskSamplerConfig(task_sampler_class=PickAndPlaceColorTaskSampler, samples_per_house=20)
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]}
wandb_project
class-attribute
instance-attribute
¶
Config
¶
SavedEpisode
¶
Bases: Config
Config informationd describing a sinlge episode
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
camera_config |
AllCameraSystems | None
|
|
robot_config |
FrankaRobotConfig | None
|
|
task_cls_str |
str | None
|
|
task_config |
PickTaskConfig | None
|
|
freeze_task_config
¶
freeze_task_config(observation, task: BaseMujocoTask = None) -> None
Saves the state of a sampled task i.e. an episode
Source code in molmo_spaces/configs/abstract_exp_config.py
load_config
staticmethod
¶
load_config(output_dir: Path) -> MlSpacesExpConfig
Loads a configuration from a file
Source code in molmo_spaces/configs/abstract_exp_config.py
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
model_post_init
¶
Initialize and validate configuration after Pydantic model initialization
Source code in molmo_spaces/configs/base_pick_config.py
save_config
¶
Saves the current configuration to the output directory
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 |
|---|---|
Config |
|
SavedEpisode |
Config informationd describing a sinlge episode |
Methods:
| Name | Description |
|---|---|
freeze_task_config |
Saves the state of a sampled task i.e. an episode |
from_dict |
Create a configuration instance from a dictionary. |
load_config |
Loads a configuration from a file |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
Initialize and validate configuration after Pydantic model initialization |
save_config |
Saves the current configuration to the output directory |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
camera_config
class-attribute
instance-attribute
¶
camera_config: FrankaRandomizedD405D455CameraSystem = FrankaRandomizedD405D455CameraSystem()
environment_light_intensity
class-attribute
instance-attribute
¶
filter_for_successful_trajectories
class-attribute
instance-attribute
¶
policy_config
class-attribute
instance-attribute
¶
policy_config: PickAndPlacePlannerPolicyConfig = PickAndPlacePlannerPolicyConfig()
task_config
class-attribute
instance-attribute
¶
task_config: PickAndPlaceTaskConfig = PickAndPlaceTaskConfig(task_cls=PickAndPlaceTask)
task_config_preset
class-attribute
instance-attribute
¶
task_config_preset: PickTaskConfig | None = None
task_config_preset_exp
class-attribute
instance-attribute
¶
task_config_preset_exp: AllTaskConfigs | None = None
task_config_preset_scn
class-attribute
instance-attribute
¶
task_config_preset_scn: AllTaskConfigs | None = None
task_sampler_config
class-attribute
instance-attribute
¶
task_sampler_config: PickAndPlaceTaskSamplerConfig = PickAndPlaceTaskSamplerConfig(task_sampler_class=PickAndPlaceTaskSampler, pickup_types=[], samples_per_house=20)
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]}
wandb_project
class-attribute
instance-attribute
¶
Config
¶
SavedEpisode
¶
Bases: Config
Config informationd describing a sinlge episode
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
camera_config |
AllCameraSystems | None
|
|
robot_config |
FrankaRobotConfig | None
|
|
task_cls_str |
str | None
|
|
task_config |
PickAndPlaceTaskConfig | None
|
|
freeze_task_config
¶
freeze_task_config(observation, task: BaseMujocoTask = None) -> None
Saves the state of a sampled task i.e. an episode
Source code in molmo_spaces/configs/abstract_exp_config.py
load_config
staticmethod
¶
load_config(output_dir: Path) -> MlSpacesExpConfig
Loads a configuration from a file
Source code in molmo_spaces/configs/abstract_exp_config.py
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
model_post_init
¶
Initialize and validate configuration after Pydantic model initialization
Source code in molmo_spaces/configs/base_pick_config.py
save_config
¶
Saves the current configuration to the output directory
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 |
|---|---|
Config |
|
SavedEpisode |
Config informationd describing a sinlge episode |
Methods:
| Name | Description |
|---|---|
freeze_task_config |
Saves the state of a sampled task i.e. an episode |
from_dict |
Create a configuration instance from a dictionary. |
load_config |
Loads a configuration from a file |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
Initialize and validate configuration after Pydantic model initialization |
save_config |
Saves the current configuration to the output directory |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
camera_config
class-attribute
instance-attribute
¶
camera_config: FrankaRandomizedD405D455CameraSystem = FrankaRandomizedD405D455CameraSystem()
environment_light_intensity
class-attribute
instance-attribute
¶
filter_for_successful_trajectories
class-attribute
instance-attribute
¶
policy_config
class-attribute
instance-attribute
¶
policy_config: PickAndPlaceNextToPlannerPolicyConfig = PickAndPlaceNextToPlannerPolicyConfig()
robot_config
class-attribute
instance-attribute
¶
robot_config: BaseRobotConfig = FrankaRobotConfig()
task_config
class-attribute
instance-attribute
¶
task_config: PickAndPlaceNextToTaskConfig = PickAndPlaceNextToTaskConfig(task_cls=PickAndPlaceNextToTask)
task_config_preset
class-attribute
instance-attribute
¶
task_config_preset: PickTaskConfig | None = None
task_config_preset_exp
class-attribute
instance-attribute
¶
task_config_preset_exp: AllTaskConfigs | None = None
task_config_preset_scn
class-attribute
instance-attribute
¶
task_config_preset_scn: AllTaskConfigs | None = None
task_sampler_config
class-attribute
instance-attribute
¶
task_sampler_config: PickAndPlaceNextToTaskSamplerConfig = PickAndPlaceNextToTaskSamplerConfig(task_sampler_class=PickAndPlaceNextToTaskSampler, pickup_types=PICK_AND_PLACE_OBJECTS, samples_per_house=20)
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]}
wandb_project
class-attribute
instance-attribute
¶
Config
¶
SavedEpisode
¶
Bases: Config
Config informationd describing a sinlge episode
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
camera_config |
AllCameraSystems | None
|
|
robot_config |
FrankaRobotConfig | None
|
|
task_cls_str |
str | None
|
|
task_config |
PickTaskConfig | None
|
|
freeze_task_config
¶
freeze_task_config(observation, task: BaseMujocoTask = None) -> None
Saves the state of a sampled task i.e. an episode
Source code in molmo_spaces/configs/abstract_exp_config.py
load_config
staticmethod
¶
load_config(output_dir: Path) -> MlSpacesExpConfig
Loads a configuration from a file
Source code in molmo_spaces/configs/abstract_exp_config.py
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
model_post_init
¶
Initialize and validate configuration after Pydantic model initialization
Source code in molmo_spaces/configs/base_pick_config.py
save_config
¶
Saves the current configuration to the output directory
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 |
Base configuration for pick data generation tasks. |
PickBaseConfig
¶
Bases: MlSpacesExpConfig
Base configuration for pick data generation tasks.
Classes:
| Name | Description |
|---|---|
Config |
|
SavedEpisode |
Config informationd describing a sinlge episode |
Methods:
| Name | Description |
|---|---|
freeze_task_config |
Saves the state of a sampled task i.e. an episode |
from_dict |
Create a configuration instance from a dictionary. |
load_config |
Loads a configuration from a file |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
Initialize and validate configuration after Pydantic model initialization |
save_config |
Saves the current configuration to the output directory |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
camera_config
class-attribute
instance-attribute
¶
camera_config: FrankaRandomizedD405D455CameraSystem = FrankaRandomizedD405D455CameraSystem()
environment_light_intensity
class-attribute
instance-attribute
¶
filter_for_successful_trajectories
class-attribute
instance-attribute
¶
policy_config
class-attribute
instance-attribute
¶
policy_config: BasePolicyConfig = PickPlannerPolicyConfig()
task_config
class-attribute
instance-attribute
¶
task_config: PickTaskConfig = PickTaskConfig(task_cls=PickTask)
task_config_preset
class-attribute
instance-attribute
¶
task_config_preset: PickTaskConfig | None = None
task_config_preset_exp
class-attribute
instance-attribute
¶
task_config_preset_exp: AllTaskConfigs | None = None
task_config_preset_scn
class-attribute
instance-attribute
¶
task_config_preset_scn: AllTaskConfigs | None = None
task_sampler_config
class-attribute
instance-attribute
¶
task_sampler_config: PickTaskSamplerConfig = PickTaskSamplerConfig(task_sampler_class=PickTaskSampler)
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]}
wandb_project
class-attribute
instance-attribute
¶
Config
¶
SavedEpisode
¶
Bases: Config
Config informationd describing a sinlge episode
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
camera_config |
AllCameraSystems | None
|
|
robot_config |
FrankaRobotConfig | None
|
|
task_cls_str |
str | None
|
|
task_config |
PickTaskConfig | None
|
|
freeze_task_config
¶
freeze_task_config(observation, task: BaseMujocoTask = None) -> None
Saves the state of a sampled task i.e. an episode
Source code in molmo_spaces/configs/abstract_exp_config.py
load_config
staticmethod
¶
load_config(output_dir: Path) -> MlSpacesExpConfig
Loads a configuration from a file
Source code in molmo_spaces/configs/abstract_exp_config.py
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
model_post_init
¶
Initialize and validate configuration after Pydantic model initialization
Source code in molmo_spaces/configs/base_pick_config.py
save_config
¶
Saves the current configuration to the output directory
Source code in molmo_spaces/configs/abstract_exp_config.py
save_to_json
¶
to_dict
¶
camera_configs
¶
Camera configuration classes for MolmoSpaces experiments.
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. |
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
|
|
AllCameraTypes |
TypeAlias
|
|
T |
|
|
Triple |
TypeAlias
|
|
logger |
|
AllCameraSystems
module-attribute
¶
AllCameraSystems: TypeAlias = RBY1MjcfCameraSystem | RBY1GoProD455CameraSystem | FrankaRandomizedD405D455CameraSystem | FrankaEasyRandomizedDroidCameraSystem | FrankaDroidCameraSystem | FrankaOmniPurposeCameraSystem | FrankaRandomizedDroidCameraSystem | FrankaGoProD405D455CameraSystem | FrankaGoProD405RandomizedCameraSystem | FrankaRobotiq2f85CameraSystem | FrankaEvalCameraSystem | I2rtYamCameraSystem | BimanualYamCameraSystem | FrankaEvalCameraSystem
AllCameraTypes
module-attribute
¶
AllCameraTypes: TypeAlias = MjcfCameraConfig | RobotMountedCameraConfig | FixedExocentricCameraConfig | RandomizedExocentricCameraConfig | EvalRobotMountedCameraConfig | EvalExocentricCameraConfig
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
Create a configuration instance from a dictionary. |
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[AllCameraTypes]
|
|
img_resolution |
tuple[int, int]
|
|
cameras
class-attribute
instance-attribute
¶
cameras: list[AllCameraTypes] = [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})]
Config
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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).
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
fov |
float | None
|
|
is_warped |
bool
|
|
name |
str
|
|
record_depth |
bool
|
|
skip_erosion |
bool
|
|
visibility_constraints |
dict[str, float] | None
|
|
visibility_constraints
class-attribute
instance-attribute
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
save_to_json
¶
to_dict
¶
CameraSystemConfig
¶
Bases: Config
Complete camera system configuration.
Defines all cameras that should be set up in the environment, along with shared settings like resolution.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
Create a configuration instance from a dictionary. |
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[AllCameraTypes]
|
|
img_resolution |
tuple[int, int]
|
|
Config
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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
|
|
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
¶
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
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
save_to_json
¶
to_dict
¶
EvalRobotMountedCameraConfig
¶
Bases: RobotMountedCameraConfig
Robot-mounted camera with additional intrinsics perturbation for eval.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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]
|
|
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
¶
orientation_noise_degrees
class-attribute
instance-attribute
¶
pos_noise_range
class-attribute
instance-attribute
¶
visibility_constraints
class-attribute
instance-attribute
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
save_to_json
¶
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¶
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
forward |
list[float]
|
|
fov |
float | None
|
|
is_warped |
bool
|
|
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
|
|
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
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
Create a configuration instance from a dictionary. |
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[AllCameraTypes]
|
|
img_resolution |
tuple[int, int]
|
|
cameras
class-attribute
instance-attribute
¶
cameras: list[AllCameraTypes] = [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})]
Config
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
Create a configuration instance from a dictionary. |
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[AllCameraTypes]
|
|
img_resolution |
tuple[int, int]
|
|
cameras
class-attribute
instance-attribute
¶
cameras: list[AllCameraTypes] = [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})]
Config
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
Create a configuration instance from a dictionary. |
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[AllCameraTypes]
|
|
img_resolution |
tuple[int, int]
|
|
ref_level_ranges |
list[tuple[float, dict[str, dict[str, float | tuple[float, ...]]]]]
|
|
cameras
class-attribute
instance-attribute
¶
cameras: list[AllCameraTypes] = [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})]
ref_level_ranges
class-attribute
¶
ref_level_ranges: list[tuple[float, dict[str, dict[str, float | 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))})]
Config
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
Create a configuration instance from a dictionary. |
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[AllCameraTypes]
|
|
img_resolution |
tuple[int, int]
|
|
cameras
class-attribute
instance-attribute
¶
cameras: list[AllCameraTypes] = [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)]
Config
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
Create a configuration instance from a dictionary. |
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[AllCameraTypes]
|
|
img_resolution |
tuple[int, int]
|
|
cameras
class-attribute
instance-attribute
¶
cameras: list[AllCameraTypes] = [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)]
Config
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
Create a configuration instance from a dictionary. |
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[AllCameraTypes]
|
|
img_resolution |
tuple[int, int]
|
|
cameras
class-attribute
instance-attribute
¶
cameras: list[AllCameraTypes] = [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)]
Config
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
Create a configuration instance from a dictionary. |
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[AllCameraTypes]
|
|
img_resolution |
tuple[int, int]
|
|
cameras
class-attribute
instance-attribute
¶
cameras: list[AllCameraTypes] = [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)]
Config
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
Create a configuration instance from a dictionary. |
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[AllCameraTypes]
|
|
img_resolution |
tuple[int, int]
|
|
cameras
class-attribute
instance-attribute
¶
cameras: list[AllCameraTypes] = [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)]
Config
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
Create a configuration instance from a dictionary. |
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[AllCameraTypes]
|
|
img_resolution |
tuple[int, int]
|
|
cameras
class-attribute
instance-attribute
¶
cameras: list[AllCameraTypes] = [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)]
Config
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
Create a configuration instance from a dictionary. |
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[AllCameraTypes]
|
|
img_resolution |
tuple[int, int]
|
|
cameras
class-attribute
instance-attribute
¶
cameras: list[AllCameraTypes] = [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})]
Config
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
fov |
float | None
|
|
fov_noise_degrees |
tuple[float, float] | None
|
|
is_warped |
bool
|
|
mjcf_name |
str
|
|
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
¶
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
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
Create a configuration instance from a dictionary. |
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[AllCameraTypes]
|
|
img_resolution |
tuple[int, int]
|
|
cameras
class-attribute
instance-attribute
¶
cameras: list[AllCameraTypes] = [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)]
Config
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
save_to_json
¶
to_dict
¶
RBY1MjcfCameraSystem
¶
Bases: CameraSystemConfig
Camera system using RBY1's built-in MJCF cameras.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
Create a configuration instance from a dictionary. |
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[AllCameraTypes]
|
|
img_resolution |
tuple[int, int]
|
|
cameras
class-attribute
instance-attribute
¶
cameras: list[AllCameraTypes] = [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/')]
Config
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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).
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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
|
|
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
¶
visibility_constraints
class-attribute
instance-attribute
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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]
|
|
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
¶
orientation_noise_degrees
class-attribute
instance-attribute
¶
pos_noise_range
class-attribute
instance-attribute
¶
visibility_constraints
class-attribute
instance-attribute
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
|
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
force_enable_depth |
bool
|
If true, require all cameras to record depth. |
policy_cls |
type
|
|
policy_factory |
PolicyFactory | None
|
Factory function to create the policy instance from a config and task, can be same as |
policy_type |
str
|
|
force_enable_depth
class-attribute
instance-attribute
¶
If true, require all cameras to record depth. In eval the cameras will be overridden, otherwise it will just require the camera system config to enable depth.
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.
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
model_post_init
¶
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).
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
Set policy_cls after initialization to avoid circular imports. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
downscale |
int
|
|
force_enable_depth |
bool
|
If true, require all cameras to record depth. |
map_path |
str | None
|
|
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
|
|
policy_factory |
PolicyFactory | None
|
Factory function to create the policy instance from a config and task, can be same as |
policy_type |
str
|
|
recovery_motion_backward_distance |
float
|
|
verbose |
bool
|
|
force_enable_depth
class-attribute
instance-attribute
¶
If true, require all cameras to record depth. In eval the cameras will be overridden, otherwise it will just require the camera system config to enable depth.
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.
recovery_motion_backward_distance
class-attribute
instance-attribute
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
force_enable_depth |
bool
|
If true, require all cameras to record depth. |
policy_cls |
type[BasePolicy]
|
|
policy_factory |
PolicyFactory
|
Factory function to create the policy instance from a config and task, can be same as |
policy_type |
str
|
|
force_enable_depth
class-attribute
instance-attribute
¶
If true, require all cameras to record depth. In eval the cameras will be overridden, otherwise it will just require the camera system config to enable depth.
policy_factory
instance-attribute
¶
policy_factory: PolicyFactory
Factory function to create the policy instance from a config and task, can be same as policy_cls.
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
save_to_json
¶
to_dict
¶
BrownianMotionPolicyConfig
¶
Bases: BasePolicyConfig
Policy that applies Gaussian noise increments over noop control, resulting in Brownian motion.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
|
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
force_enable_depth |
bool
|
If true, require all cameras to record depth. |
policy_cls |
type
|
|
policy_factory |
PolicyFactory | None
|
Factory function to create the policy instance from a config and task, can be same as |
policy_type |
str
|
|
std |
float
|
|
force_enable_depth
class-attribute
instance-attribute
¶
If true, require all cameras to record depth. In eval the cameras will be overridden, otherwise it will just require the camera system config to enable depth.
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.
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
model_post_init
¶
Source code in molmo_spaces/configs/policy_configs.py
save_to_json
¶
to_dict
¶
CuroboOpenClosePlannerPolicyConfig
¶
Bases: OpenClosePlannerPolicyConfig
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
Set policy_cls after initialization to avoid circular imports. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
enable_collision_avoidance
class-attribute
instance-attribute
¶
force_enable_depth
class-attribute
instance-attribute
¶
If true, require all cameras to record depth. In eval the cameras will be overridden, otherwise it will just require the camera system config to enable 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
¶
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.
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}
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
Set policy_cls after initialization to avoid circular imports. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
enable_collision_avoidance
class-attribute
instance-attribute
¶
force_enable_depth
class-attribute
instance-attribute
¶
If true, require all cameras to record depth. In eval the cameras will be overridden, otherwise it will just require the camera system config to enable 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
¶
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.
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}
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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
¶
If true, require all cameras to record depth. In eval the cameras will be overridden, otherwise it will just require the camera system config to enable 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
¶
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.
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}
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
save_to_json
¶
to_dict
¶
DummyPolicyConfig
¶
Bases: BasePolicyConfig
Policy config that uses DummyPolicy for testing.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
|
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
force_enable_depth |
bool
|
If true, require all cameras to record depth. |
policy_cls |
type
|
|
policy_factory |
PolicyFactory | None
|
Factory function to create the policy instance from a config and task, can be same as |
policy_type |
str
|
|
force_enable_depth
class-attribute
instance-attribute
¶
If true, require all cameras to record depth. In eval the cameras will be overridden, otherwise it will just require the camera system config to enable depth.
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.
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
force_enable_depth |
bool
|
If true, require all cameras to record depth. |
num_recovery_steps |
int
|
|
policy_cls |
type
|
|
policy_factory |
PolicyFactory | None
|
Factory function to create the policy instance from a config and task, can be same as |
policy_type |
str
|
|
recovery_motion_backward_distance |
float
|
|
verbose |
bool
|
|
force_enable_depth
class-attribute
instance-attribute
¶
If true, require all cameras to record depth. In eval the cameras will be overridden, otherwise it will just require the camera system config to enable depth.
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.
recovery_motion_backward_distance
class-attribute
instance-attribute
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
save_to_json
¶
to_dict
¶
ObjectManipulationPlannerPolicyConfig
¶
Bases: BasePolicyConfig
Configuration for Franka pick planner policy.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
force_enable_depth
class-attribute
instance-attribute
¶
If true, require all cameras to record depth. In eval the cameras will be overridden, otherwise it will just require the camera system config to enable 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
¶
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.
tcp_rot_err_threshold
class-attribute
instance-attribute
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
save_to_json
¶
to_dict
¶
OpenClosePlannerPolicyConfig
¶
Bases: ObjectManipulationPlannerPolicyConfig
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
Set policy_cls after initialization to avoid circular imports. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
force_enable_depth
class-attribute
instance-attribute
¶
If true, require all cameras to record depth. In eval the cameras will be overridden, otherwise it will just require the camera system config to enable 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
¶
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.
tcp_rot_err_threshold
class-attribute
instance-attribute
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
Set policy_cls after initialization to avoid circular imports. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
force_enable_depth
class-attribute
instance-attribute
¶
If true, require all cameras to record depth. In eval the cameras will be overridden, otherwise it will just require the camera system config to enable 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
¶
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.
tcp_rot_err_threshold
class-attribute
instance-attribute
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
Set policy_cls after initialization to avoid circular imports. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
force_enable_depth
class-attribute
instance-attribute
¶
If true, require all cameras to record depth. In eval the cameras will be overridden, otherwise it will just require the camera system config to enable 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
¶
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.
tcp_rot_err_threshold
class-attribute
instance-attribute
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
Set policy_cls after initialization to avoid circular imports. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
force_enable_depth
class-attribute
instance-attribute
¶
If true, require all cameras to record depth. In eval the cameras will be overridden, otherwise it will just require the camera system config to enable 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
¶
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.
tcp_rot_err_threshold
class-attribute
instance-attribute
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
Set policy_cls after initialization to avoid circular imports. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
force_enable_depth
class-attribute
instance-attribute
¶
If true, require all cameras to record depth. In eval the cameras will be overridden, otherwise it will just require the camera system config to enable 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
¶
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.
tcp_rot_err_threshold
class-attribute
instance-attribute
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
Set policy_cls after initialization to avoid circular imports. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
buffer_length |
int
|
|
camera_mapping |
dict
|
|
checkpoint_path |
str
|
|
force_enable_depth |
bool
|
If true, require all cameras to record depth. |
grasping_type |
str
|
|
name |
str
|
|
policy_cls |
type
|
|
policy_factory |
PolicyFactory | None
|
Factory function to create the policy instance from a config and task, can be same as |
policy_type |
str
|
|
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
¶
If true, require all cameras to record depth. In eval the cameras will be overridden, otherwise it will just require the camera system config to enable depth.
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.
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')
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
Set policy_cls after initialization to avoid circular imports. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
exo_vlm |
bool
|
|
force_enable_depth |
bool
|
If true, require all cameras to record depth. |
grasping_threshold |
float
|
|
grasping_type |
str
|
|
policy_cls |
type
|
|
policy_factory |
PolicyFactory | None
|
Factory function to create the policy instance from a config and task, can be same as |
policy_type |
str
|
|
remote_config |
dict
|
|
use_vlm |
bool
|
|
force_enable_depth
class-attribute
instance-attribute
¶
If true, require all cameras to record depth. In eval the cameras will be overridden, otherwise it will just require the camera system config to enable depth.
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.
remote_config
class-attribute
instance-attribute
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
Set policy_cls after initialization to avoid circular imports. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
checkpoint_path |
str
|
|
chunk_size |
int
|
|
force_enable_depth |
bool
|
If true, require all cameras to record depth. |
grasping_threshold |
float
|
|
grasping_type |
str
|
|
policy_cls |
type
|
|
policy_factory |
PolicyFactory | None
|
Factory function to create the policy instance from a config and task, can be same as |
policy_type |
str
|
|
remote_config |
dict
|
|
force_enable_depth
class-attribute
instance-attribute
¶
If true, require all cameras to record depth. In eval the cameras will be overridden, otherwise it will just require the camera system config to enable depth.
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.
remote_config
class-attribute
instance-attribute
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
Set policy_cls after initialization to avoid circular imports. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
checkpoint_path |
str
|
|
chunk_size |
int
|
|
force_enable_depth |
bool
|
If true, require all cameras to record depth. |
grasping_threshold |
float
|
|
grasping_type |
str
|
|
policy_cls |
type
|
|
policy_factory |
PolicyFactory | None
|
Factory function to create the policy instance from a config and task, can be same as |
policy_type |
str
|
|
remote_config |
dict | None
|
|
force_enable_depth
class-attribute
instance-attribute
¶
If true, require all cameras to record depth. In eval the cameras will be overridden, otherwise it will just require the camera system config to enable depth.
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.
remote_config
class-attribute
instance-attribute
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
Set policy_cls after initialization to avoid circular imports. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
device |
str
|
|
force_enable_depth |
bool
|
If true, require all cameras to record depth. |
policy_cls |
type
|
|
policy_factory |
PolicyFactory | None
|
Factory function to create the policy instance from a config and task, can be same as |
policy_type |
str
|
|
pos_sensitivity |
float
|
|
product_id |
int
|
|
rot_sensitivity |
float
|
|
rot_step |
float
|
|
step_size |
float
|
|
force_enable_depth
class-attribute
instance-attribute
¶
If true, require all cameras to record depth. In eval the cameras will be overridden, otherwise it will just require the camera system config to enable depth.
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.
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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
|
|
rotation_noise_scale |
float
|
|
BaseRobotConfig
¶
Bases: Config
Base configuration for robot setup.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
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 |
Load the configuration from a JSON file. |
model_post_init |
Ensure action_noise_config is always initialized, even when loading from old configs. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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]
|
|
force_limit |
list[float] | None
|
|
gravcomp |
bool
|
|
init_qpos |
dict[str, list[float]]
|
|
init_qpos_noise_range |
dict[str, list[float]] | None
|
|
name |
str | None
|
|
robot_cls |
type[Robot] | None
|
|
robot_dir |
Path | None
|
|
robot_factory |
Callable[[MjData, Any], Robot] | None
|
|
robot_namespace |
str
|
|
robot_view_factory |
RobotViewFactory | None
|
|
robot_xml_path |
Path
|
|
action_noise_config
class-attribute
instance-attribute
¶
action_noise_config: ActionNoiseConfig | None = None
Config
¶
get_robot_dir
¶
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot.
get_robot_xml_path
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
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 |
Load the configuration from a JSON file. |
model_post_init |
Ensure action_noise_config is always initialized, even when loading from old configs. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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]
|
|
force_limit |
list[float] | None
|
|
gravcomp |
bool
|
|
init_qpos |
dict[str, list[float]]
|
|
init_qpos_noise_range |
dict[str, list[float]] | None
|
|
name |
str
|
|
robot_cls |
type[BimanualYamRobot] | None
|
|
robot_dir |
Path | None
|
|
robot_factory |
Callable[[MjData, Any], Robot] | None
|
|
robot_namespace |
str
|
|
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
¶
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
¶
robot_cls
class-attribute
instance-attribute
¶
robot_cls: type[BimanualYamRobot] | None = BimanualYamRobot
robot_factory
class-attribute
instance-attribute
¶
robot_factory: Callable[[MjData, Any], Robot] | None = BimanualYamRobot
robot_view_factory
class-attribute
instance-attribute
¶
robot_view_factory: RobotViewFactory | None = BimanualYamRobotView
Config
¶
get_robot_dir
¶
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot.
get_robot_xml_path
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
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 |
Load the configuration from a JSON file. |
model_post_init |
Ensure action_noise_config is always initialized, even when loading from old configs. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
K_damping |
list[float] | None
|
|
K_stiffness |
list[float] | None
|
|
action_noise_config |
ActionNoiseConfig | None
|
|
command_mode |
dict
|
|
ctrl_dt_ms |
float
|
|
force_limit |
list[float] | None
|
|
gravcomp |
bool
|
|
init_qpos |
dict[str, list]
|
|
init_qpos_noise_range |
dict[str, list]
|
|
name |
str
|
|
robot_cls |
type[FloatingRUMRobot] | None
|
|
robot_dir |
Path | None
|
|
robot_factory |
Callable[[MjData, Any], Robot] | None
|
|
robot_namespace |
str
|
|
robot_view_factory |
RobotViewFactory | None
|
|
robot_xml_path |
Path
|
|
action_noise_config
class-attribute
instance-attribute
¶
action_noise_config: ActionNoiseConfig | None = None
init_qpos_noise_range
class-attribute
instance-attribute
¶
robot_cls
class-attribute
instance-attribute
¶
robot_cls: type[FloatingRUMRobot] | None = FloatingRUMRobot
robot_factory
class-attribute
instance-attribute
¶
robot_factory: Callable[[MjData, Any], Robot] | None = FloatingRUMRobot
robot_view_factory
class-attribute
instance-attribute
¶
robot_view_factory: RobotViewFactory | None = FloatingRUMRobotView
Config
¶
get_robot_dir
¶
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot.
get_robot_xml_path
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
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 |
Load the configuration from a JSON file. |
model_post_init |
Ensure action_noise_config is always initialized, even when loading from old configs. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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
|
|
ctrl_dt_ms |
float
|
|
force_limit |
list[float] | None
|
|
gravcomp |
bool
|
|
init_qpos |
dict[str, list]
|
|
init_qpos_noise_range |
dict[str, list]
|
|
name |
str
|
|
robot_cls |
type[FloatingRobotiqRobot]
|
|
robot_dir |
Path | None
|
|
robot_factory |
Callable[[MjData, BaseRobotConfig], Robot]
|
|
robot_namespace |
str
|
|
robot_view_factory |
RobotViewFactory
|
|
robot_xml_path |
Path
|
|
action_noise_config
class-attribute
instance-attribute
¶
action_noise_config: ActionNoiseConfig | None = None
action_spec
class-attribute
instance-attribute
¶
init_qpos
class-attribute
instance-attribute
¶
init_qpos_noise_range
class-attribute
instance-attribute
¶
robot_cls
class-attribute
instance-attribute
¶
robot_cls: type[FloatingRobotiqRobot] = FloatingRobotiqRobot
robot_factory
class-attribute
instance-attribute
¶
robot_factory: Callable[[MjData, BaseRobotConfig], Robot] = FloatingRobotiqRobot
robot_view_factory
class-attribute
instance-attribute
¶
robot_view_factory: RobotViewFactory = FloatingRobotiq2f85RobotView
Config
¶
get_robot_dir
¶
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot.
get_robot_xml_path
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
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 |
Load the configuration from a JSON file. |
model_post_init |
Ensure action_noise_config is always initialized, even when loading from old configs. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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]
|
|
force_limit |
list[float] | None
|
|
gravcomp |
bool
|
|
init_qpos |
dict[str, list[float]]
|
|
init_qpos_noise_range |
dict[str, list[float]] | None
|
|
name |
str
|
|
robot_cls |
type[FrankaRobot] | None
|
|
robot_dir |
Path | None
|
|
robot_factory |
Callable[[MjData, Any], Robot] | None
|
|
robot_namespace |
str
|
|
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
¶
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]}
robot_factory
class-attribute
instance-attribute
¶
robot_factory: Callable[[MjData, Any], Robot] | None = FrankaRobot
robot_view_factory
class-attribute
instance-attribute
¶
robot_view_factory: RobotViewFactory | None = FrankaCAPRobotView
Config
¶
get_robot_dir
¶
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot.
get_robot_xml_path
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
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 |
Load the configuration from a JSON file. |
model_post_init |
Ensure action_noise_config is always initialized, even when loading from old configs. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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]
|
|
force_limit |
list[float] | None
|
|
gravcomp |
bool
|
|
init_qpos |
dict[str, list[float]]
|
|
init_qpos_noise_range |
dict[str, list[float]] | None
|
|
name |
str
|
|
perturb_texture_probability |
float
|
|
robot_cls |
type[FrankaRobot] | None
|
|
robot_dir |
Path | None
|
|
robot_factory |
Callable[[MjData, Any], Robot] | None
|
|
robot_namespace |
str
|
|
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
¶
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]}
perturb_texture_probability
class-attribute
instance-attribute
¶
robot_factory
class-attribute
instance-attribute
¶
robot_factory: Callable[[MjData, Any], Robot] | None = FrankaRobot
robot_view_factory
class-attribute
instance-attribute
¶
robot_view_factory: RobotViewFactory | None = FrankaDroidRobotView
Config
¶
get_robot_dir
¶
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot.
get_robot_xml_path
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
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 |
Load the configuration from a JSON file. |
model_post_init |
Ensure action_noise_config is always initialized, even when loading from old configs. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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]
|
|
force_limit |
list[float] | None
|
|
gravcomp |
bool
|
|
init_qpos |
dict[str, list[float]]
|
|
init_qpos_noise_range |
dict[str, list[float]] | None
|
|
name |
str
|
|
robot_cls |
type[I2rtYamRobot] | None
|
|
robot_dir |
Path | None
|
|
robot_factory |
Callable[[MjData, Any], Robot] | None
|
|
robot_namespace |
str
|
|
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
¶
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
¶
robot_factory
class-attribute
instance-attribute
¶
robot_factory: Callable[[MjData, Any], Robot] | None = I2rtYamRobot
robot_view_factory
class-attribute
instance-attribute
¶
robot_view_factory: RobotViewFactory | None = I2rtYamRobotView
Config
¶
get_robot_dir
¶
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot.
get_robot_xml_path
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
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 |
Load the configuration from a JSON file. |
model_post_init |
Ensure action_noise_config is always initialized, even when loading from old configs. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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]
|
|
force_limit |
list[float] | None
|
|
gravcomp |
bool
|
|
init_qpos |
dict[str, list[float]]
|
|
init_qpos_noise_range |
dict[str, list[float]] | None
|
|
name |
str
|
|
robot_cls |
type[MobileFrankaRobot] | None
|
|
robot_dir |
Path | None
|
|
robot_factory |
Callable[[MjData, Any], Robot] | None
|
|
robot_namespace |
str
|
|
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'}
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]}
robot_cls
class-attribute
instance-attribute
¶
robot_cls: type[MobileFrankaRobot] | None = MobileFrankaRobot
robot_factory
class-attribute
instance-attribute
¶
robot_factory: Callable[[MjData, Any], Robot] | None = MobileFrankaRobot
robot_view_factory
class-attribute
instance-attribute
¶
robot_view_factory: RobotViewFactory | None = MobileFrankaDroidRobotView
Config
¶
get_robot_dir
¶
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot.
get_robot_xml_path
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
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 |
Load the configuration from a JSON file. |
model_post_init |
Ensure action_noise_config is always initialized, even when loading from old configs. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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]
|
|
force_limit |
list[float] | None
|
|
gravcomp |
bool
|
|
init_qpos |
dict[str, ndarray]
|
|
init_qpos_noise_range |
dict[str, ndarray]
|
|
name |
str
|
|
robot_cls |
type[RBY1]
|
|
robot_dir |
Path | None
|
|
robot_factory |
Callable[[MjData, Any], Robot] | None
|
|
robot_namespace |
str
|
|
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}
init_qpos
class-attribute
instance-attribute
¶
init_qpos: dict[str, ndarray] = {'base': np.array([0.0, 0.0, 0.0]), 'head': np.array([0.0, 0.6]), 'left_arm': np.array([0.5, 0.0, 0.0, -2.3, 0.0, -0.5, 0.0]), 'left_gripper': np.array([-0.05]), 'right_arm': np.array([0.5, 0.0, 0.0, -2.3, 0.0, -0.5, 0.0]), 'right_gripper': np.array([-0.05]), 'torso': np.array([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, ndarray] = {'base': np.array([0.0, 0.0, 0.0]), 'head': np.array([0.2, 0.2]), 'left_arm': np.array([0.05, 0.05, 0.075, 0.1, 0.125, 0.15, 0.175]), 'left_gripper': np.array([0.01]), 'right_arm': np.array([0.05, 0.05, 0.075, 0.1, 0.125, 0.15, 0.175]), 'right_gripper': np.array([0.01]), 'torso': np.array([0.0, 0.0, 0.0, 0.0, 0.0, 0.0])}
robot_factory
class-attribute
instance-attribute
¶
robot_view_factory
class-attribute
instance-attribute
¶
robot_view_factory: RobotViewFactory | None = None
robot_xml_path
class-attribute
instance-attribute
¶
Config
¶
get_robot_dir
¶
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot.
get_robot_xml_path
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
model_post_init
¶
save_to_json
¶
to_dict
¶
RBY1MConfig
¶
Bases: RBY1Config
Configuration for RBY1M i.e. mecanum wheel robot.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
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 |
Load the configuration from a JSON file. |
model_post_init |
Ensure action_noise_config is always initialized, even when loading from old configs. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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]
|
|
force_limit |
list[float] | None
|
|
gravcomp |
bool
|
|
init_qpos |
dict[str, ndarray]
|
|
init_qpos_noise_range |
dict[str, ndarray]
|
|
name |
str
|
|
robot_cls |
type[RBY1]
|
|
robot_dir |
Path | None
|
|
robot_factory |
Callable[[MjData, Any], Robot] | None
|
|
robot_namespace |
str
|
|
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}
init_qpos
class-attribute
instance-attribute
¶
init_qpos: dict[str, ndarray] = {'base': np.array([0.0, 0.0, 0.0]), 'head': np.array([0.0, 0.6]), 'left_arm': np.array([0.5, 0.0, 0.0, -2.3, 0.0, -0.5, 0.0]), 'left_gripper': np.array([-0.05]), 'right_arm': np.array([0.5, 0.0, 0.0, -2.3, 0.0, -0.5, 0.0]), 'right_gripper': np.array([-0.05]), 'torso': np.array([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, ndarray] = {'base': np.array([0.0, 0.0, 0.0]), 'head': np.array([0.2, 0.2]), 'left_arm': np.array([0.05, 0.05, 0.075, 0.1, 0.125, 0.15, 0.175]), 'left_gripper': np.array([0.01]), 'right_arm': np.array([0.05, 0.05, 0.075, 0.1, 0.125, 0.15, 0.175]), 'right_gripper': np.array([0.01]), 'torso': np.array([0.0, 0.0, 0.0, 0.0, 0.0, 0.0])}
robot_factory
class-attribute
instance-attribute
¶
robot_view_factory
class-attribute
instance-attribute
¶
robot_view_factory: RobotViewFactory | None = None
robot_xml_path
class-attribute
instance-attribute
¶
Config
¶
get_robot_dir
¶
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot.
get_robot_xml_path
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
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 |
Load the configuration from a JSON file. |
model_post_init |
Ensure action_noise_config is always initialized, even when loading from old configs. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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]
|
|
force_limit |
list[float] | None
|
|
gravcomp |
bool
|
|
init_qpos |
dict[str, ndarray]
|
|
init_qpos_noise_range |
dict[str, ndarray]
|
|
name |
str
|
|
robot_cls |
type[RBY1]
|
|
robot_dir |
Path | None
|
|
robot_factory |
Callable[[MjData, Any], Robot] | None
|
|
robot_namespace |
str
|
|
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'}
init_qpos
class-attribute
instance-attribute
¶
init_qpos: dict[str, ndarray] = {'base': np.array([0.0, 0.0, 0.0]), 'head': np.array([0.0, 0.6]), 'left_arm': np.array([0.5, 0.0, 0.0, -2.3, 0.0, -0.5, 0.0]), 'left_gripper': np.array([-0.05]), 'right_arm': np.array([0.5, 0.0, 0.0, -2.3, 0.0, -0.5, 0.0]), 'right_gripper': np.array([-0.05]), 'torso': np.array([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, ndarray] = {'base': np.array([0.0, 0.0, 0.0]), 'head': np.array([0.2, 0.2]), 'left_arm': np.array([0.05, 0.05, 0.075, 0.1, 0.125, 0.15, 0.175]), 'left_gripper': np.array([0.01]), 'right_arm': np.array([0.05, 0.05, 0.075, 0.1, 0.125, 0.15, 0.175]), 'right_gripper': np.array([0.01]), 'torso': np.array([0.0, 0.0, 0.0, 0.0, 0.0, 0.0])}
robot_factory
class-attribute
instance-attribute
¶
robot_view_factory
class-attribute
instance-attribute
¶
robot_view_factory: RobotViewFactory | None = None
robot_xml_path
class-attribute
instance-attribute
¶
Config
¶
get_robot_dir
¶
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot.
get_robot_xml_path
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
action_dtype |
str
|
|
added_objects |
dict[str, Path]
|
|
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
|
|
object_poses
class-attribute
instance-attribute
¶
referral_expressions_priority
class-attribute
instance-attribute
¶
tracked_object_names
class-attribute
instance-attribute
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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
|
|
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
|
|
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
¶
object_poses
class-attribute
instance-attribute
¶
referral_expressions_priority
class-attribute
instance-attribute
¶
tracked_object_names
class-attribute
instance-attribute
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
action_dtype |
str
|
|
added_objects |
dict[str, Path]
|
|
enable_rendering |
bool
|
|
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
|
|
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
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
save_to_json
¶
to_dict
¶
OpeningTaskConfig
¶
Bases: PickTaskConfig
Configuration for opening task.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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
|
|
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
¶
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
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
save_to_json
¶
to_dict
¶
PackingTaskConfig
¶
Bases: PickAndPlaceTaskConfig
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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
|
|
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
¶
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
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
save_to_json
¶
to_dict
¶
PickAndPlaceColorTaskConfig
¶
Bases: PickAndPlaceTaskConfig
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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
|
|
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
¶
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
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
save_to_json
¶
to_dict
¶
PickAndPlaceNextToTaskConfig
¶
Bases: PickAndPlaceTaskConfig
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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
|
|
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
¶
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
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
save_to_json
¶
to_dict
¶
PickAndPlaceTaskConfig
¶
Bases: PickTaskConfig
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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
|
|
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
¶
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
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
save_to_json
¶
to_dict
¶
PickTaskConfig
¶
Bases: BaseMujocoTaskConfig
Configuration for Franka move-to-pose task.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
action_dtype |
str
|
|
added_objects |
dict[str, Path]
|
|
enable_rendering |
bool
|
|
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
|
|
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
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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 |
|
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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
|
|
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
|
|
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
¶
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
¶
randomize_robot_textures
class-attribute
instance-attribute
¶
robot_placement_exclusion_threshold
class-attribute
instance-attribute
¶
robot_placement_rotation_range_rad
class-attribute
instance-attribute
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
save_to_json
¶
to_dict
¶
DoorOpeningTaskSamplerConfig
¶
Bases: BaseMujocoTaskSamplerConfig
Configuration for RBY1 door opening task sampler.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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
¶
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
¶
randomize_robot_textures
class-attribute
instance-attribute
¶
robot_placement_exclusion_threshold
class-attribute
instance-attribute
¶
robot_placement_rotation_range_rad
class-attribute
instance-attribute
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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
¶
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
¶
objaverse_oversampling_factor
class-attribute
instance-attribute
¶
randomize_robot_textures
class-attribute
instance-attribute
¶
robot_placement_exclusion_threshold
class-attribute
instance-attribute
¶
robot_placement_rotation_range_rad
class-attribute
instance-attribute
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
save_to_json
¶
to_dict
¶
ObjectCentricTaskSamplerConfig
¶
Bases: BaseMujocoTaskSamplerConfig
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
check_robot_placement_visibility |
bool
|
|
dataset_name |
str
|
|
enable_texture_randomization |
bool
|
|
episodes_per_batch |
int
|
|
filter_for_grasps |
bool
|
|
grasp_libraries |
list[str] | None
|
|
house_inds |
list[int] | None
|
|
house_variant |
str
|
|
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
|
|
objaverse_oversampling_factor |
int
|
|
pickup_obj_name |
str | None
|
|
pickup_types |
list[str] | None
|
|
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
¶
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
¶
objaverse_oversampling_factor
class-attribute
instance-attribute
¶
randomize_robot_textures
class-attribute
instance-attribute
¶
robot_placement_exclusion_threshold
class-attribute
instance-attribute
¶
robot_placement_rotation_range_rad
class-attribute
instance-attribute
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
save_to_json
¶
to_dict
¶
OpenTaskSamplerConfig
¶
Bases: PickTaskSamplerConfig
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
|
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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
¶
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
¶
objaverse_oversampling_factor
class-attribute
instance-attribute
¶
object_placement_radius_range
class-attribute
instance-attribute
¶
randomize_robot_textures
class-attribute
instance-attribute
¶
receptacle_types
class-attribute
instance-attribute
¶
receptacle_types: list[str] = tuple(RECEPTACLE_TYPES_THOR)
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
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
model_post_init
¶
Source code in molmo_spaces/configs/task_sampler_configs.py
save_to_json
¶
to_dict
¶
PackingTaskSamplerConfig
¶
Bases: PickAndPlaceTaskSamplerConfig
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
|
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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
¶
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
¶
objaverse_oversampling_factor
class-attribute
instance-attribute
¶
object_placement_radius_range
class-attribute
instance-attribute
¶
place_receptacle_namespace
class-attribute
instance-attribute
¶
randomize_robot_textures
class-attribute
instance-attribute
¶
receptacle_types
class-attribute
instance-attribute
¶
receptacle_types: list[str] = tuple(RECEPTACLE_TYPES_THOR)
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
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
|
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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
¶
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
¶
objaverse_oversampling_factor
class-attribute
instance-attribute
¶
object_placement_radius_range
class-attribute
instance-attribute
¶
place_receptacle_namespace
class-attribute
instance-attribute
¶
randomize_robot_textures
class-attribute
instance-attribute
¶
receptacle_types
class-attribute
instance-attribute
¶
receptacle_types: list[str] = tuple(RECEPTACLE_TYPES_THOR)
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
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
model_post_init
¶
Source code in molmo_spaces/configs/task_sampler_configs.py
save_to_json
¶
to_dict
¶
PickAndPlaceNextToTaskSamplerConfig
¶
Bases: PickAndPlaceTaskSamplerConfig
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
|
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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
¶
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
¶
objaverse_oversampling_factor
class-attribute
instance-attribute
¶
object_placement_radius_range
class-attribute
instance-attribute
¶
place_receptacle_namespace
class-attribute
instance-attribute
¶
randomize_robot_textures
class-attribute
instance-attribute
¶
receptacle_types
class-attribute
instance-attribute
¶
receptacle_types: list[str] = tuple(RECEPTACLE_TYPES_THOR)
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
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
model_post_init
¶
Source code in molmo_spaces/configs/task_sampler_configs.py
save_to_json
¶
to_dict
¶
PickAndPlaceTaskSamplerConfig
¶
Bases: PickTaskSamplerConfig
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
|
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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
¶
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
¶
objaverse_oversampling_factor
class-attribute
instance-attribute
¶
object_placement_radius_range
class-attribute
instance-attribute
¶
place_receptacle_namespace
class-attribute
instance-attribute
¶
randomize_robot_textures
class-attribute
instance-attribute
¶
receptacle_types
class-attribute
instance-attribute
¶
receptacle_types: list[str] = tuple(RECEPTACLE_TYPES_THOR)
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
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
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.
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
|
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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
¶
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
¶
objaverse_oversampling_factor
class-attribute
instance-attribute
¶
object_placement_radius_range
class-attribute
instance-attribute
¶
randomize_robot_textures
class-attribute
instance-attribute
¶
receptacle_types
class-attribute
instance-attribute
¶
receptacle_types: list[str] = tuple(RECEPTACLE_TYPES_THOR)
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
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.
model_post_init
¶
Source code in molmo_spaces/configs/task_sampler_configs.py
save_to_json
¶
to_dict
¶
RUMPickTaskSamplerConfig
¶
Bases: PickTaskSamplerConfig
Classes:
| Name | Description |
|---|---|
Config |
|
Methods:
| Name | Description |
|---|---|
from_dict |
Create a configuration instance from a dictionary. |
load_from_json |
Load the configuration from a JSON file. |
model_post_init |
|
save_to_json |
Save the configuration to a JSON file. |
to_dict |
Convert the configuration to a dictionary. |
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
¶
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
¶
objaverse_oversampling_factor
class-attribute
instance-attribute
¶
object_placement_radius_range
class-attribute
instance-attribute
¶
randomize_robot_textures
class-attribute
instance-attribute
¶
receptacle_types
class-attribute
instance-attribute
¶
receptacle_types: list[str] = tuple(RECEPTACLE_TYPES_THOR)
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
¶
Config
¶
load_from_json
classmethod
¶
load_from_json(file_path: str) -> Config
Load the configuration from a JSON file.