in gym_genesis/tasks/cube_pick.py [0:0]
def _build_scene(self, num_envs, env_spacing):
if not gs._initialized:
gs.init(backend=gs.gpu, precision="32")
self.scene = gs.Scene(
viewer_options=gs.options.ViewerOptions(
camera_pos=(3, -1, 1.5),
camera_lookat=(0.0, 0.0, 0.5),
camera_fov=30,
res=(self.observation_width, self.observation_height),
max_FPS=60,
),
sim_options=gs.options.SimOptions(dt=0.01),
rigid_options=gs.options.RigidOptions(box_box_detection=True),
show_viewer=False,
)
self.plane = self.scene.add_entity(gs.morphs.Plane())
self.franka = self.scene.add_entity(gs.morphs.MJCF(file="xml/franka_emika_panda/panda.xml"))
self.cube = self.scene.add_entity(
gs.morphs.Box(size=(0.04, 0.04, 0.04), pos=(0.65, 0.0, 0.02))
)
if self.enable_pixels:
self.cam = self.scene.add_camera(
res=(self.observation_width, self.observation_height),
pos=(3.5, 0.0, 2.5),
lookat=(0, 0, 0.5),
fov=30,
GUI=False
)
self.scene.build(n_envs=num_envs, env_spacing=env_spacing)
self.motors_dof = np.arange(7)
self.fingers_dof = np.arange(7, 9)
self.eef = self.franka.get_link("hand")