| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import numpy as np
- class Env:
- def __init__(self):
- self.x_range = (-2, 15) # size of background
- self.y_range = (-2, 15)
- # self.obs_boundary = self.obs_boundary(self.x_range, self.y_range)
- # self.obs_circle = self.obs_circle()
- @staticmethod
- def obs_boundary(x, y):
- w = 1
- obs_boundary = []
- for i in np.linspace(x[0], x[1], (x[1] - x[0]) // w + 1):
- obs_boundary.append((i, y[0], w))
- for i in np.linspace(x[0], x[1], (x[1] - x[0]) // w + 1):
- obs_boundary.append((i, y[1], w))
- for j in np.linspace(y[0] + 1, y[1] - w, (y[1] - y[0] - 2 * w) // w + 1):
- obs_boundary.append((x[0], j, w))
- for j in np.linspace(y[0] + 1, y[1] - w, (y[1] - y[0] - 2 * w) // w + 1):
- obs_boundary.append((x[1], j, w))
- for i in np.linspace(10, 20, 10 // w + 1):
- obs_boundary.append((i, 15, w))
- for j in np.linspace(1, 14, 13 // w + 1):
- obs_boundary.append((20, j, w))
- for j in np.linspace(15, 29, 14 // w + 1):
- obs_boundary.append((30, j, w))
- for j in np.linspace(1, 14, 13 // w + 1):
- obs_boundary.append((40, j, w))
- return obs_boundary
- @staticmethod
- def obs_circle():
- obs_cir = [
- (8, 8, 3),
- (10, 23, 3),
- (20, 25, 2.5),
- (30, 7, 3),
- (40, 25, 2),
- (43, 20, 2.5)
- ]
- return obs_cir
|