MCPcopy Create free account
hub / github.com/BIT-MCS/DRL-eFresh / __init__

Method __init__

environment/uav_collection/env.py:13–64  ·  view source on GitHub ↗
(self, log)

Source from the content-addressed store, hash-verified

11
12class Env(object):
13 def __init__(self, log):
14
15 self.log = log
16 self.sg = Setting(log)
17 self.draw = Draw(self.sg)
18 if self.sg.V["DEBUG_MODE"]:
19 print('uav num ', self.sg.V['NUM_UAV'], 'uav pos ', self.sg.V['INIT_POSITION'], 'station num ',
20 str(1), 'station pos ', self.sg.V['BASE_STATION'])
21
22 # make save directory
23 self.sg.log()
24 self.log_dir = log.full_path
25
26 # [ 16 , 16 ]
27 self.map_size_x = self.sg.V['MAP_X'] # 16 unit
28 self.map_size_y = self.sg.V['MAP_Y'] # 16 unit
29
30 # map obstacle [ 16 , 16 ]
31 self.map_obstacle = np.zeros((self.map_size_x, self.map_size_y)).astype(np.int8)
32 self.map_obstacle_value = 1
33 self.init_map_obstacle()
34
35 # data collecting range
36 self.c_range = self.sg.V['RANGE'] # m
37
38 # uav energy
39 self.init_uav_energy = np.asarray(
40 [self.sg.V['INITIAL_ENERGY']] * self.sg.V['NUM_UAV'],
41 dtype=np.float32
42 )
43 # num of uavs
44 self.uav_num = self.sg.V['NUM_UAV']
45
46 # action [ K , 3 ]
47 self.action = np.zeros(
48 shape=[self.sg.V['NUM_UAV'],
49 self.sg.V['ACT_NUM']],
50 dtype=np.float32
51 )
52
53 # PoI
54 self.poi_data_pos, self.init_poi_data_val = self.filter_PoI_data()
55 self.bs_pos = self.filter_bs_pos()
56 # poi_data_pos->[256,2] poi_data_val->[256]
57
58 # for render
59 self.max_uav_energy = self.sg.V['INITIAL_ENERGY'] / self.sg.V['INITIAL_ENERGY']
60 self.max_distance = self.sg.V["MAX_DISTANCE"]
61
62 self.reset()
63
64 self.action_space = self.sg.V['NUM_UAV'] * self.sg.V['ACT_NUM']
65
66
67 def reset(self):

Callers

nothing calls this directly

Calls 7

init_map_obstacleMethod · 0.95
filter_PoI_dataMethod · 0.95
filter_bs_posMethod · 0.95
resetMethod · 0.95
SettingClass · 0.90
DrawClass · 0.85
logMethod · 0.45

Tested by

no test coverage detected