in mae_envs/envs/base.py [0:0]
def _get_sim(self, seed):
'''
Calls build_world_step and then modify_sim_step for each module. If
a build_world_step failed, then restarts.
'''
self.floor_size = np.random.uniform(self.floor_size_dist[0], self.floor_size_dist[1])
self.metadata['floor_size'] = self.floor_size
world_params = WorldParams(size=(self.floor_size, self.floor_size, 2.5),
num_substeps=self.n_substeps)
successful_placement = False
failures = 0
while not successful_placement:
if (failures + 1) % 10 == 0:
logging.warning(f"Failed {failures} times in creating environment")
builder = WorldBuilder(world_params, seed)
floor = Floor()
builder.append(floor)
self.placement_grid = np.zeros((self.grid_size, self.grid_size))
successful_placement = np.all([module.build_world_step(self, floor, self.floor_size)
for module in self.modules])
failures += 1
sim = builder.get_sim()
for module in self.modules:
module.modify_sim_step(self, sim)
return sim