Exemplo n.º 1
0
 def make_world(self):
     world = World()
     world.num_UAVs = 2
     world.num_landmarks = 30  # 50
     world.UAVs = [UAV() for i in range(world.num_UAVs)]
     world.association = []
     world.probability_LoS = 1 / (1 + A)
     for i, uav in enumerate(world.UAVs):
         uav.name = 'UAV %d'.format(i)
         uav.id = i
         uav.size = 10
         uav.state.energy = Energy
     # # 列表形式的landmarks
     # world.landmarks = [Landmark() for i in range(world.num_landmarks)]
     # for i, landmark in enumerate(world.landmarks):
     #     landmark.name = 'landmark %d'.format(i)
     #     landmark.id = i
     #     landmark.size = 10
     # 字典形式的landmarks
     for i in range(world.num_landmarks):
         dic = {str(i): Landmark()}
         world.landmarks.update(dic)
     for i, landmark in enumerate(world.landmarks.values()):
         landmark.name = 'landmark %d'.format(i)
         landmark.id = i
         landmark.size = 5
     self.reset_world(
         world)  # 这里不reset会导致MultiUAVEnv中init中获得observation维度报错
     return world