def __init__(self, max_random_start,
observation_dims, data_format, display):
self.max_random_start = max_random_start
self.action_size = 28
self.display = display
self.data_format = data_format
self.observation_dims = observation_dims
self.screen = np.zeros((self.observation_dims[0],self.observation_dims[1]), np.uint8)
#####################
# Followings are not used yet
self.syncLaser = False
self.syncPose = False
self.syncGoal = False
self.syncDir = False
self.sentTime = 0
#####################
self.poseX = 0.0
self.poseY = 0.0
self.prevPoseX = 0.0
self.prevPoseY = 0.0
self.goalX = 0.0
self.goalY = 0.0
self.dir = 0.0
self.prevDist = 0.0
self.terminal = 0
self.sendTerminal = 0
self.clock = Clock()
self.lastClock = Clock()
rospy.wait_for_service('reset_positions')
self.resetStage = rospy.ServiceProxy('reset_positions', EmptySrv)
# Publishers:
self.pub_action_ = rospy.Publisher("dqn/selected_action",Int8,queue_size=1)
self.pub_new_goal_ = rospy.Publisher("dqn/new_goal",EmptyMsg,queue_size=1)
self.pub_rew_ = rospy.Publisher("dqn/lastreward",Float32,queue_size=1)
# Subscribers:
rospy.Subscriber('bridge/laser_image', Image, self.laserCB,queue_size=1)
rospy.Subscriber('bridge/current_dir', Float32, self.directionCB,queue_size=1)
rospy.Subscriber('bridge/impact', EmptyMsg, self.impactCB,queue_size=1)
rospy.Subscriber('bridge/current_pose', Pose, self.positionCB,queue_size=1)
rospy.Subscriber('bridge/goal_pose', Pose, self.targetCB,queue_size=1)
rospy.Subscriber('clock', Clock, self.stepCB,queue_size=1)
评论列表
文章目录