def __init__(self, scene_name, reward_dense, boundary): self.pr = PyRep() SCENE_FILE = join(dirname(abspath(__file__)), scene_name) self.pr.launch(SCENE_FILE, headless=True) self.pr.start() self.pr.set_simulation_timestep(0.05) if scene_name != 'robot_scene.ttt': #youbot_navig2 home_dir = os.path.expanduser('~') os.chdir(join(home_dir, 'robotics_drl')) self.pr.import_model('robot.ttm') # Vision sensor handles self.camera_top = VisionSensor('Vision_sensor') # self.camera_top.set_render_mode(RenderMode.OPENGL3) # self.camera_top.set_resolution([256,256]) self.camera_arm = VisionSensor('Vision_sensor1') self.camera_arm.set_render_mode(RenderMode.OPENGL3) self.camera_arm.set_resolution([256, 256]) self.reward_dense = reward_dense self.reward_termination = 1 if self.reward_dense else 0 self.boundary = boundary # Robot links robot_links = [] links_size = [3, 5, 5, 1] for i in range(len(links_size)): robot_links.append( [Shape('link%s_%s' % (i, j)) for j in range(links_size[i])]) links_color = [[0, 0, 1], [0, 1, 0], [1, 0, 0]] color_i = 0 for j in robot_links: if color_i > 2: color_i = 0 for i in j: i.remove_texture() i.set_color(links_color[color_i]) color_i += 1
def __init__(self, not_render): super(Environment, self).__init__() self.controller = PyRep() scene_file = join(dirname(abspath(__file__)),'scene/scene_reinforcement_learning_env.ttt') self.controller.launch(scene_file, headless=not_render) self.actuator = Panda() self.actuator.set_control_loop_enabled(False) self.actuator.set_motor_locked_at_zero_velocity(True) self.top_camera = VisionSensor('Vision_TOP') self.side_camera = VisionSensor('Vision_SIDE') self.front_camera = VisionSensor('Vision_FRONT') self.target = Shape('target') self.target_initial_pos = self.target.get_position() self.start_sim() self.actuator_tip = self.actuator.get_tip() self.actuator_initial_position = self.actuator.get_joint_positions() self.POS_MIN = [0.8, -0.2, 1.0] self.POS_MAX = [1.0, 0.2, 1.4]