2424from embodichain .lab .sim .types import EnvObs , EnvAction
2525from embodichain .lab .sim import SimulationManagerCfg , SimulationManager
2626from embodichain .lab .sim .objects import Robot
27- from embodichain .lab .sim .sensors import BaseSensor
27+ from embodichain .lab .sim .sensors import BaseSensor , Camera
2828from embodichain .lab .gym .utils import gym_utils
2929from embodichain .utils import configclass
3030from embodichain .utils import logger , set_seed
@@ -225,6 +225,17 @@ def get_sensor(self, name: str, **kwargs) -> BaseSensor:
225225
226226 return self .sensors [name ]
227227
228+ def add_camera_group_id (self , group_id : int ) -> None :
229+ """Add a camera group ID for rendering.
230+
231+ Args:
232+ group_id: The camera group ID to be added.
233+ """
234+ if not hasattr (self , "_camera_group_ids" ):
235+ self ._camera_group_ids : List [int ] = []
236+ if self .sim .is_rt_enabled :
237+ self ._camera_group_ids .append (group_id )
238+
228239 def _setup_scene (self , ** kwargs ):
229240 # Init sim manager.
230241 # we want to open gui window when the scene is setup, so init sim manager in headless mode first.
@@ -251,6 +262,13 @@ def _setup_scene(self, **kwargs):
251262
252263 self .sensors = self ._setup_sensors (** kwargs )
253264
265+ # Setup camera groups for rendering.
266+ self ._camera_group_ids : List [int ] = []
267+ if self .sim .is_rt_enabled :
268+ for sensor in self .sensors .values ():
269+ if isinstance (sensor , Camera ):
270+ self ._camera_group_ids .append (sensor .group_id )
271+
254272 def _setup_robot (self , ** kwargs ) -> Robot :
255273 """Load the robot agent, setup the controller and action space.
256274
@@ -343,7 +361,7 @@ def _get_sensor_obs(self, **kwargs) -> Dict[str, any]:
343361 fetch_only = False
344362 if self .sim .is_rt_enabled :
345363 fetch_only = True
346- self .sim .render_camera_group ()
364+ self .sim .render_camera_group (self . _camera_group_ids )
347365
348366 for sensor_name , sensor in self .sensors .items ():
349367 sensor .update (fetch_only = fetch_only )
0 commit comments