Implementation:ARISE Initiative Robosuite CameraModder
Metadata:
- robosuite
- Domain Randomization for Sim2Real
- Sim_To_Real_Transfer
- Computer_Vision
- last_updated: 2026-02-15 12:00 GMT
Overview
Concrete class for randomizing camera parameters in MuJoCo simulations provided by the robosuite modding utilities.
Description
CameraModder perturbs camera position, rotation, and field of view (fovy). Inherits from BaseModder. Default rotation perturbation of 0.087 radians corresponds to ~5 degrees. Perturbations are additive to saved default values.
Usage
Used internally by DomainRandomizationWrapper. Can be used standalone for custom camera randomization.
Code Reference
Source: robosuite
File: robosuite/utils/mjmod.py
Lines: L518-779
Signature:
class CameraModder(BaseModder):
def __init__(self, sim, random_state=None, camera_names=None,
randomize_position=True, randomize_rotation=True, randomize_fovy=True,
position_perturbation_size=0.01, rotation_perturbation_size=0.087,
fovy_perturbation_size=5.0):
Import: from robosuite.utils.mjmod import CameraModder
I/O Contract
Inputs:
- sim (MjSim, Yes)
- random_state (RandomState, No)
- camera_names (list, No, all cameras)
- randomize_position (bool, No, True)
- randomize_rotation (bool, No, True)
- randomize_fovy (bool, No, True)
- position_perturbation_size (float, No, 0.01)
- rotation_perturbation_size (float, No, 0.087)
- fovy_perturbation_size (float, No, 5.0)
Methods:
- randomize()
- save_defaults()
- restore_defaults()
Usage Examples
Show usage via DomainRandomizationWrapper camera_randomization_args.