graph LR
RLBenchEnv["RLBenchEnv"]
ArmActionMode["ArmActionMode"]
GripperActionMode["GripperActionMode"]
Scene["Scene"]
ObservationConfig["ObservationConfig"]
Utils["Utils"]
RLBenchEnv -- "invokes" --> ArmActionMode
RLBenchEnv -- "sends commands to" --> ArmActionMode
RLBenchEnv -- "invokes" --> GripperActionMode
RLBenchEnv -- "sends commands to" --> GripperActionMode
RLBenchEnv -- "calls" --> Scene
RLBenchEnv -- "utilizes" --> ObservationConfig
RLBenchEnv -- "utilizes" --> Utils
Scene -- "reads config from" --> ObservationConfig
Scene -- "passes data to" --> Utils
ObservationConfig -- "provides settings to" --> RLBenchEnv
ObservationConfig -- "provides config to" --> Scene
Utils -- "provides data to" --> RLBenchEnv
The RLBenchEnv acts as the central orchestrator, implementing the OpenAI Gym interface to manage the simulation lifecycle. It delegates the translation of high-level agent actions to ArmActionMode and GripperActionMode, which convert these into low-level commands for the simulation. For observations, RLBenchEnv interacts with the Scene component to retrieve raw simulation data, configured by ObservationConfig. The Scene further utilizes Utils to process this raw data before it is provided back to RLBenchEnv for agent consumption. ObservationConfig also directly provides settings to RLBenchEnv to guide observation collection.
The core orchestrator, implementing the OpenAI Gym interface. It manages the step() and reset() methods, coordinating the execution of actions and the collection of observations. It serves as the primary interface for the agent.
Related Classes/Methods:
Responsible for translating high-level arm action commands (e.g., desired pose, joint velocities) from the RLBenchEnv into low-level commands executable by the simulation core. It encapsulates the specific logic for arm control.
Related Classes/Methods:
Processes high-level gripper action commands (e.g., open/close state) from the RLBenchEnv and converts them into low-level simulation commands. It handles the specific logic for gripper control.
Related Classes/Methods:
Acts as the direct interface to the CoppeliaSim environment for data retrieval. It fetches raw observation data, including camera images (RGB, depth, mask) and miscellaneous simulation states, based on the configured observation settings.
Related Classes/Methods:
Defines and holds the configuration for what types of observations (e.g., camera views, low-dimensional states) should be collected from the simulation. This allows for flexible and customizable observation spaces.
Related Classes/Methods:
Provides helper functions for processing raw simulation data into structured and usable formats. This includes tasks like converting raw float arrays into image formats (RGB, grayscale) suitable for consumption by the agent or further processing.
Related Classes/Methods: None