2020-06-27 00:38:38 -07:00
|
|
|
"""
|
|
|
|
|
Env 2D
|
|
|
|
|
@author: huiming zhou
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
|
2020-06-21 21:50:11 -07:00
|
|
|
class Env:
|
2020-06-20 12:46:49 -07:00
|
|
|
def __init__(self):
|
2020-06-21 21:50:11 -07:00
|
|
|
self.x_range = 51 # size of background
|
2020-06-20 12:46:49 -07:00
|
|
|
self.y_range = 31
|
2020-07-04 18:23:30 -07:00
|
|
|
self.motions = [(-1, 0), (-1, 1), (0, 1), (1, 1),
|
|
|
|
|
(1, 0), (1, -1), (0, -1), (-1, -1)]
|
2020-06-20 12:46:49 -07:00
|
|
|
self.obs = self.obs_map()
|
2020-06-18 14:57:03 -07:00
|
|
|
|
2020-06-20 12:46:49 -07:00
|
|
|
def obs_map(self):
|
|
|
|
|
"""
|
|
|
|
|
Initialize obstacles' positions
|
|
|
|
|
:return: map of obstacles
|
|
|
|
|
"""
|
2020-06-18 14:57:03 -07:00
|
|
|
|
2020-06-20 12:46:49 -07:00
|
|
|
x = self.x_range
|
|
|
|
|
y = self.y_range
|
2020-06-30 14:12:07 -07:00
|
|
|
obs = set()
|
2020-06-18 14:57:03 -07:00
|
|
|
|
2020-06-20 12:46:49 -07:00
|
|
|
for i in range(x):
|
2020-06-30 14:12:07 -07:00
|
|
|
obs.add((i, 0))
|
2020-06-20 12:46:49 -07:00
|
|
|
for i in range(x):
|
2020-06-30 14:12:07 -07:00
|
|
|
obs.add((i, y - 1))
|
2020-06-18 14:57:03 -07:00
|
|
|
|
2020-06-20 12:46:49 -07:00
|
|
|
for i in range(y):
|
2020-06-30 14:12:07 -07:00
|
|
|
obs.add((0, i))
|
2020-06-20 12:46:49 -07:00
|
|
|
for i in range(y):
|
2020-06-30 14:12:07 -07:00
|
|
|
obs.add((x - 1, i))
|
2020-06-20 12:46:49 -07:00
|
|
|
|
|
|
|
|
for i in range(10, 21):
|
2020-06-30 14:12:07 -07:00
|
|
|
obs.add((i, 15))
|
2020-06-20 12:46:49 -07:00
|
|
|
for i in range(15):
|
2020-06-30 14:12:07 -07:00
|
|
|
obs.add((20, i))
|
2020-06-20 12:46:49 -07:00
|
|
|
|
|
|
|
|
for i in range(15, 30):
|
2020-06-30 14:12:07 -07:00
|
|
|
obs.add((30, i))
|
2020-07-05 19:44:27 -07:00
|
|
|
# for i in range(15, 25):
|
|
|
|
|
# obs.add((30, i))
|
2020-06-20 12:46:49 -07:00
|
|
|
for i in range(16):
|
2020-06-30 14:12:07 -07:00
|
|
|
obs.add((40, i))
|
2020-06-20 12:46:49 -07:00
|
|
|
|
|
|
|
|
return obs
|