Пример #1
0
    def reset(self):
        # 에피소드의 시작에 불려지며, observation을 돌려준다
        print("reset called")
        self.speed_queue.clear()
        self.speed_queue.append(-10)
        self.speed_queue.append(-10)

        func.release_all()
        reset_env.manualReset()
        ip.ipCountdown()
        road_center = ip.getOrigin()
        road_points = ip.getPoints()
        player_pos = ip.getPlayerVertex()
        road_diff = self.get_road_diff(road_points)
        self.pre_direction = 4

        # observation은 총 5개 - [ 중앙의 정도, 속도, 길의 커브정도, 차의 꺾인정도, 길의 꺾인정도] 로 오고
        # 보상으로 중앙의 정도에 대한 보상(reward_diff), 속도에 대한 보상(reward_speed), 거꾸로 갈 때 음수를 주는 보상(reward_backward)이 온다.
        reward_diff, diff = self.reward_player_reddot_diff(
            road_center, player_pos, road_points, road_diff)

        observation = np.array([diff, -10, road_diff, 0, 100])

        # reset 출발후 시간측정 시작
        self.time1 = datetime.datetime.now()

        return observation
Пример #2
0
 def reset(self):
     print("Reset Env")
     func.release_all()
     reset_env.manualReset()
     ip.ipCountdown()
     func.release_all()
     self.pre_direction = 4
     minimap, _, _, _ = self.observation()
     return minimap
Пример #3
0
 def reset(self):
     print('Reset Called, reset environment')
     func.release_all()
     reset_env.manualReset()
     ip.ipCountdown()
     func.release_all()
     self.pre_direction = 4
     value = self.observation()[0]
     print(value)
     return value
Пример #4
0
    def reset(self):
        print('Env1에서 Reset이 호출되었습니다. Image Processing 라이브러리를 통해 Reset합니다.')
        func.release_all()
        reset_env.manualReset()
        ip.ipCountdown()
        func.release_all()
        self.pre_direction = 4  # action 관련 초기화 값. 다르게 줄 수도 있다.
        value = self.observation()  # 다시 미니맵을 관찰한 값을 넘겨준다.

        # Reset Flag 재설정
        global global_reset_flag
        global_reset_flag = False
        print("Env1 reset complete")

        return value