Esempio n. 1
0
    def _env_setup(self, initial_qpos):
        for name, value in initial_qpos.items():
            self.sim.data.set_joint_qpos(name, value)
        utils.reset_mocap_welds(self.sim)
        self.sim.forward()

        # Move end effector into position.
        # gripper_target = np.array([-0.498, 0.005, -0.431 + self.gripper_extra_height]) + self.sim.data.get_site_xpos('robot0:grip')
        # gripper_target = np.array([-0.498, 0.005, -0.431 + self.gripper_extra_height]) + self.sim.data.get_site_xpos('jaco_joint_finger_1')
        gripper_target = np.array([-0.498, 0.005, -0.431 + self.gripper_extra_height]) #+ self.sim.data.get_site_xpos('jaco_joint_finger_1')
        gripper_rotation = np.array([1., 0., 1., 0.])
        # self.sim.data.set_mocap_pos('robot0:mocap', gripper_target)
        # self.sim.data.set_mocap_quat('robot0:mocap', gripper_rotation)
        # print(self.sim.data.get_body_xpos('jaco_link_finger_1'))
        # print(self.sim.data.get_joint_qpos('jaco_joint_finger_1'))
        # print(self.sim.data.get_joint_qvel('jaco_joint_finger_1'))
        # self.sim.data.set_mocap_pos('jaco_link_finger_1', gripper_target)
        # self.sim.data.set_mocap_quat('jaco_link_finger_1', gripper_rotation)
        
        for _ in range(10):
            self.sim.step()

        # Extract information for sampling goals.
        # self.initial_gripper_xpos = self.sim.data.get_site_xpos('robot0:grip').copy()
        # if self.has_object:
        #     self.height_offset = self.sim.data.get_site_xpos('object0')[2]
        self.initial_gripper_xpos = self.sim.data.get_site_xpos('jaco_joint_finger_1').copy()
        if self.has_object:
            self.height_offset = self.sim.data.get_site_xpos('target')[2]
        print('DONE Setting UP\n')
Esempio n. 2
0
 def _env_setup(self, initial_qpos):
     # Randomize the starting position
     shoulder_pan_val = -0.1 + (random.random()*0.2)
     initial_qpos['robot0:shoulder_pan_joint'] = shoulder_pan_val
     for name, value in initial_qpos.items():
         self.sim.data.set_joint_qpos(name, value)
     utils.reset_mocap_welds(self.sim)
     self.sim.forward()
     
     # Move end effector into position
     gripper_target = np.array([-0.498, 0.005, -0.431 + self.gripper_extra_height]) + self.sim.data.get_site_xpos('robot0:grip')
     gripper_rotation = np.array([1.,0.,1.,0.])
     self.sim.data.set_mocap_pos('robot0:mocap', gripper_target)
     self.sim.data.set_mocap_quat('robot0:mocap', gripper_rotation)
     for _ in range(10):
         self.sim.step()