Exemplo n.º 1
0
    def __init__(self, name):
        self.__name = self.NAME[name%2]
        self.__obname = self.NAME[name%2 + 1]
        self.viewer = None

        high = np.array([1.,1.,1.,1.,1.,1.,1.,1.,  #8
                         1.,1.,1.,1.,1.,1.,1.,     #7
                         0.,0.,0.,0.,0.,0.,         #6
                         0.,0.,0.,0.,0.,0.,0.,0.,0.,#9
                         0.,0.,0.,                  #2
                         0.,0.,0.])                 #1
                                                    #24
        low = -1*high 
                    # ox,oy,oz,oa,ob,oc,od,of,
                    # vx,vy,vz,va,vb,vc,vd,vf
                    # dis of Link(15)
                    # 
                    # joint_angle(7), 
                    # limit(1), rate(3)
        self.observation_space = spaces.Box(low=low, high=high, dtype=np.float32)
        self.action_space = spaces.Discrete(3)
        self.act_dim=7
        self.obs_dim=39
        self.state = []
        self.action = []
        self.cmd = []
        self.point = []
        self.goal = []
        self.goal_pos = []
        self.goal_quat = []
        self.goal_phi = 0
        self.goal_rpy = []
        self.old = []
        self.old_pos = []
        self.old_quat = []
        self.old_phi = 0
        self.joint_pos = []
        self.joint_angle = []
        self.limit = []
        self.s_jointpos = []
        # self.dis_pos
        self.cc = CheckCollision()
        self.collision = False
        self.range_cnt = 0.8
        self.rpy_range = 0.1
        self.s_cnt = 0
        self.done = True
        self.goal_err = 0.08
        self.ori_err = 0.24
        self.quat_inv = False
        self.set_mode_pub = rospy.Publisher(
            '/gazebo/set_model_state',
            ModelState,
            queue_size=1,
            latch=True
        )
        self.seed()
        self.reset()
Exemplo n.º 2
0
    def __init__(self, name):
        self.__name = self.NAME[name%2]
        self.__obname = self.NAME[name%2 + 1]
        self.viewer = None

        high = np.array([1.,1.,1.,1.,1.,1.,1.,1.,   #8
                         1.,1.,1.,1.,1.,1.,1.,1.,   #8
                         0.,0.,0.,0.,0.,0.,         #6
                         0.,0.,0.,0.,0.,0.,0.,0.,0.,#9
                         0.,0.,0.,0.,0.,0.,0.,      #7
                         0.])              #1
                                                    #42
        low = -high 
                    # ox,oy,oz,oa,ob,oc,od,of,
                    # vx,vy,vz,va,vb,vc,vd,vf
                    # dis of Link(15)
                    # 
                    # joint_angle(7), 
                    # limit(1), rate(3)
        self.observation_space = spaces.Box(low=low, high=high, dtype=np.float32)
        self.action_space = spaces.Discrete(8)
        self.state = []
        self.action = []
        self.cmd = []
        self.point = []
        self.goal = []
        self.goal_pos = []
        self.goal_quat = []
        self.goal_phi = 0
        self.old = []
        self.old_pos = []
        self.old_quat = []
        self.old_phi = 0
        self.joint_pos = []
        self.joint_angle = []
        self.limit = []
        self.s_jointpos = []
        # self.dis_pos
        self.cc = CheckCollision()
        self.collision = False
        self.range_cnt = 0.1
        self.s_cnt = 0
        self.seed()
        self.reset()
        self.done = False
Exemplo n.º 3
0
    def __init__(self, name, workers):
        self.__name = self.NAME[name % 2]
        self.__obname = self.NAME[name % 2 + 1]
        if workers == 0:
            self.workers = 'arm'
        else:
            self.workers = str(workers)

        high = np.array([
            1.,
            1.,
            1.,
            1.,
            1.,
            1.,
            1.,
            1.,  #8
            1.,
            1.,
            1.,
            1.,
            1.,
            1.,
            1.,
            1.,
            1.,
            1.,
            1.,  #7
            0.,
            0.,
            0.,
            0.,
            0.,
            0.,  #6
            0.,
            0.,
            0.,
            0.,
            0.,
            0.,
            0.,
            0.,
            0.,  #9
            0.,
            0.,
            0.,
            0.,
            0.,
            0.,
            0.,
            0.,
            0.,  #2
            0.,
            0.,
            0.,
            0.,
            0.,
            0.
        ])  #1
        #24
        low = -1 * high
        # ox,oy,oz,oa,ob,oc,od,of,
        # vx,vy,vz,va,vb,vc,vd,vf
        # dis of Link(15)
        #
        # joint_angle(7),
        # limit(1), rate(3)

        gym.logger.set_level(40)
        self.observation_space = spaces.Box(low=low,
                                            high=high,
                                            dtype=np.float32)
        self.action_space = spaces.Discrete(3)
        self.act_dim = 8
        self.obs_dim = 57 + 24 + 2
        self.state = []
        self.action = []
        self.cmd = []
        self.point = []
        self.goal = []
        self.goal_pos = []
        self.goal_quat = []
        self.goal_phi = 0
        self.goal_rpy = []
        self.old = []
        self.old_pos = []
        self.old_quat = []
        self.old_phi = 0
        self.joint_pos = []
        self.joint_angle = []
        self.limit = []
        self.s_jointpos = []
        # self.dis_pos
        self.cc = CheckCollision()
        self.collision = False
        self.range_cnt = 0.6  #+(workers*0.1)
        self.rpy_range = 0.2 * (workers + 1)
        self.done = True
        self.s_cnt = 0
        self.goal_err = 0.06
        self.ori_err = 0.3
        # self.ori_err = 0.15
        self.quat_inv = False
        self.goal_angle = []
        self.object_pub = 0
        self.set_model_pub = rospy.Publisher('/gazebo/set_model_state',
                                             ModelState,
                                             queue_size=1,
                                             latch=True)
        self.set_mode_pub = rospy.Publisher(self.__name + self.workers +
                                            '/set_mode_msg',
                                            String,
                                            queue_size=1,
                                            latch=True)
        self.aa_box_possition = []
        self.bridge = CvBridge()
        self.depth_dim = 768
        self.cv_depth = None
        self.depth_image = None
        self.image_input = None
        self.__bumper = None
        self.__robot = "_arm"
        self.images_ = []
        self.aa_box_x = 0.58
        self.aa_box_y = 0.
        self.dis_obstacle_1 = []
        self.dis_obstacle_2 = []

        self.aa_box_pos_x = 0.
        self.aa_box_pos_y = 0.
        self.aa_box_pos_z = 0.

        self.set_aabox_pub = rospy.Publisher('aa_box_pos',
                                             aa_box_pos,
                                             queue_size=1,
                                             latch=True)

        self.set_aabox_vel = rospy.Publisher('cmd_vel',
                                             Accel,
                                             queue_size=1,
                                             latch=True)

        # self.set_mode_pub.publish('set_mode')
        self.seed(345 * (workers + 1) + 467 * (name + 1))
        self.reset()
        ## image (gazebo)

        rospy.Subscriber('/gazebo/model_states', ModelStates, self.callback)
Exemplo n.º 4
0
    def __init__(self, name, workers):
        self.__name = self.NAME[name%2]
        self.__obname = self.NAME[name%2 + 1]
        if workers == 0:
            self.workers = 'arm'
        else:
            self.workers = str(workers)

        high = np.array([1.,1.,1.,1.,1.,1.,1.,1.,  #8
                         1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,     #7
                         0.,0.,0.,0.,0.,0.,         #6
                         0.,0.,0.,0.,0.,0.,0.,0.,0.,#9
                         0.,0.,0.,0.,0.,0.,0.,0.,0.,                  #2
                         0.,0.,0.,0.,0.,0.])                 #1
                                                    #24
        low = -1*high 
                    # ox,oy,oz,oa,ob,oc,od,of,
                    # vx,vy,vz,va,vb,vc,vd,vf
                    # dis of Link(15)
                    # 
                    # joint_angle(7), 
                    # limit(1), rate(3)
        self.observation_space = spaces.Box(low=low, high=high, dtype=np.float32)
        self.action_space = spaces.Discrete(3)
        self.act_dim=8
        self.obs_dim=57
        self.state = []
        self.action = []
        self.cmd = []
        self.point = []
        self.goal = []
        self.goal_pos = []
        self.goal_quat = []
        self.goal_phi = 0
        self.goal_rpy = []
        self.old = []
        self.old_pos = []
        self.old_quat = []
        self.old_phi = 0
        self.joint_pos = []
        self.joint_angle = []
        self.limit = []
        self.s_jointpos = []
        # self.dis_pos
        self.cc = CheckCollision()
        self.collision = False
        self.range_cnt = 0.6#+(workers*0.1)
        self.rpy_range = 0.2*(workers+1)
        self.done = True
        self.s_cnt = 0
        self.goal_err = 0.08
        self.ori_err = 0.4
        self.quat_inv = False
        self.goal_angle = []
        self.object_pub = 0
        self.set_model_pub = rospy.Publisher(
            '/gazebo/set_model_state',
            ModelState,
            queue_size=1,
            latch=True
        )
        self.set_mode_pub = rospy.Publisher(
            self.__name+self.workers+'/set_mode_msg',
            String,
            queue_size=1,
            latch=True
        )
        # self.set_mode_pub.publish('set_mode')
        self.seed(345*(workers+1) + 467*(name+1))
        self.reset()
Exemplo n.º 5
0
    def __init__(self, name, workers):
        self.__name = self.NAME[name % 2]
        self.__obname = self.NAME[name % 2 + 1]
        # if workers == 0:
        self.workers = 'arm'
        # else:
        #     self.workers = str(workers)

        high = np.array([
            1.,
            1.,
            1.,
            1.,
            1.,
            1.,
            1.,
            1.,  #8
            1.,
            1.,
            1.,
            1.,
            1.,
            1.,
            1.,
            1.,
            1.,
            1.,
            1.,  #7
            0.,
            0.,
            0.,
            0.,
            0.,
            0.,  #6
            0.,
            0.,
            0.,
            0.,
            0.,
            0.,
            0.,
            0.,
            0.,  #9
            0.,
            0.,
            0.,
            0.,
            0.,
            0.,
            0.,
            0.,
            0.,  #2
            0.,
            0.,
            0.,
            0.,
            0.,
            0.
        ])  #1
        #24
        low = -1 * high
        # ox,oy,oz,oa,ob,oc,od,of,
        # vx,vy,vz,va,vb,vc,vd,vf
        # dis of Link(15)
        #
        # joint_angle(7),
        # limit(1), rate(3)
        self.observation_space = spaces.Box(low=low,
                                            high=high,
                                            dtype=np.float32)
        self.action_space = spaces.Discrete(3)
        self.act_dim = 8
        self.obs_dim = 57 + 24 + 2
        self.state = []
        self.action = []
        self.cmd = []
        self.point = []
        self.goal = []
        self.goal_pos = []
        self.goal_quat = []
        self.goal_phi = 0
        self.goal_rpy = []
        self.old = []
        self.old_pos = []
        self.old_quat = []
        self.old_phi = 0
        self.joint_pos = []
        self.joint_angle = []
        self.limit = []
        self.s_jointpos = []
        # self.dis_pos
        self.cc = CheckCollision()
        self.collision = False
        self.range_cnt = 0.6  #+(workers*0.1)
        self.rpy_range = 0.2 * (workers + 1)
        self.done = True
        self.s_cnt = 0
        self.goal_err = 0.08
        self.ori_err = 0.3
        self.quat_inv = False
        self.goal_angle = []
        self.object_pub = 0
        self.set_model_pub = rospy.Publisher('/gazebo/set_model_state',
                                             ModelState,
                                             queue_size=1,
                                             latch=True)
        self.set_mode_pub = rospy.Publisher(self.__name + self.workers +
                                            '/set_mode_msg',
                                            String,
                                            queue_size=1,
                                            latch=True)

        self.set_aabox_pub = rospy.Publisher('aa_box_pos',
                                             aa_box_pos,
                                             queue_size=1,
                                             latch=True)

        self.bridge = CvBridge()
        self.depth_dim = 76800
        self.depth_image = None
        self.image_input = None
        self.__bumper = None
        self.__robot = "_arm"
        self.images_ = []

        self.aa_box_x = 0
        self.aa_box_y = 0
        # self.set_mode_pub.publish('set_mode')

        rospy.Subscriber('/ir_depth/depth/image_raw', Image, self.callback)
        self.seed(9)
        # self.seed(345*(workers+1) + 467*(name+1))
        self.reset(True)

        ## image (gazebo)

        # rospy.Subscriber("odom", Odometry,self.get_aa_box_position)
        # rospy.Subscriber("/bumper",ContactsState,self.Sub_Bumper)

        self.arm_move = rospy.Publisher(self.__name + 'arm_move',
                                        Float32MultiArray,
                                        queue_size=1,
                                        latch=True)