def update_curr_map(self, map_update, dstar_map_update=None):
     """Update current map.
     Parameters
     ----------
     map_update : numpy.ndarray
         the update to the current map
     """
     self.curr_map = utils.accumulate_map(self.curr_map, map_update,
                                          one_is_free=self.one_is_free)
     if self.dstar:
         self.dstar_curr_map = utils.accumulate_map(
             self.dstar_curr_map, dstar_map_update,
             one_is_free=self.dstar_one_is_free)
Exemplo n.º 2
0
 def update_step_map(self, pos):
     masked_img = utils.mask_grid((pos[1], pos[0]),
                                  self.grid[0],
                                  3,
                                  one_is_free=False)
     self.step_map[0] = utils.accumulate_map(self.step_map[0],
                                             masked_img,
                                             one_is_free=False)
grid, state, label, goal = sampler.get_grid(77)
gt_collector.append(state)

step_map = np.zeros((2, 28, 28))
step_map[0] = np.ones((28, 28))
step_map[1] = grid[1]
pos = [state[0, 0], state[0, 1]]
path = [(pos[0], pos[1])]
start = (pos[0], pos[1])
for step in xrange(32):
    masked_img = utils.mask_grid((pos[1], pos[0]),
                                 grid[0],
                                 3,
                                 one_is_free=False)
    step_map[0] = utils.accumulate_map(step_map[0],
                                       masked_img,
                                       one_is_free=False)

    action, reward, value = predict(step_map, pos, model, 20)
    dx, dy = get_action(action)
    pos[0] = pos[0] + dx
    pos[1] = pos[1] + dy
    path.append((pos[0], pos[1]))

    plt.figure()
    plt.imshow(value, cmap="jet")
    plt.colorbar()
    plt.scatter(x=[start[0]], y=[start[1]], marker="*", c="orange", s=50)
    plt.scatter(x=[pos[0]], y=[pos[1]], marker=".", c="purple", s=50)
    plt.scatter(x=[goal[0]], y=[goal[1]], marker="*", c="black", s=50)
    plt.savefig("grid28-77-%d.png" % (step), dpi=300)
Exemplo n.º 4
0
radius = 7
mask_pos_1 = (7, 7)
mask_pos_2 = (12, 12)

# plot a grid
grid_im = db[utils.data_dict[0]]

grid = 1 - grid_im[0, :]

#  utils.plot_grid(grid, imsize)

grid = grid.reshape(imsize[0], imsize[1])
masked_grid_1 = utils.mask_grid(mask_pos_1, grid, radius, one_is_free=False)
masked_grid_2 = utils.mask_grid(mask_pos_2, grid, radius, one_is_free=False)
acc_grid = utils.accumulate_map(masked_grid_1,
                                masked_grid_2,
                                one_is_free=False)

plt.figure(figsize=(10, 10))
plt.subplot(231)
plt.imshow((1 - grid) * 255, cmap="gray")
plt.axis("off")
plt.subplot(232)
plt.imshow((1 - masked_grid_1) * 255, cmap="gray")
plt.axis("off")
plt.subplot(233)
plt.imshow((1 - masked_grid_2) * 255, cmap="gray")
plt.axis("off")
plt.subplot(234)
plt.imshow((1 - acc_grid) * 255, cmap="gray")
plt.axis("off")