Skip to content

Commit b209739

Browse files
[navigation] ensure entity placement within constrained environment boundaries
1 parent c807dbd commit b209739

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

vmas/scenarios/navigation.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ def make_world(self, batch_dim: int, device: torch.device, **kwargs):
4343
ScenarioUtils.check_kwargs_consumed(kwargs)
4444

4545
self.min_distance_between_entities = self.agent_radius * 2 + 0.05
46-
self.world_semidim = 1
46+
self.world_semidim_x = 1 if self.x_semidim is None else self.x_semidim
47+
self.world_semidim_y = 1 if self.y_semidim is None else self.y_semidim
4748
self.min_collision_distance = 0.005
4849

4950
assert 1 <= self.agents_with_same_goal <= self.n_agents
@@ -135,8 +136,8 @@ def reset_world_at(self, env_index: int = None):
135136
self.world,
136137
env_index,
137138
self.min_distance_between_entities,
138-
(-self.world_semidim, self.world_semidim),
139-
(-self.world_semidim, self.world_semidim),
139+
(-self.world_semidim_x, self.world_semidim_x),
140+
(-self.world_semidim_y, self.world_semidim_y),
140141
)
141142

142143
occupied_positions = torch.stack(
@@ -152,8 +153,8 @@ def reset_world_at(self, env_index: int = None):
152153
env_index=env_index,
153154
world=self.world,
154155
min_dist_between_entities=self.min_distance_between_entities,
155-
x_bounds=(-self.world_semidim, self.world_semidim),
156-
y_bounds=(-self.world_semidim, self.world_semidim),
156+
x_bounds=(-self.world_semidim_x, self.world_semidim_x),
157+
y_bounds=(-self.world_semidim_y, self.world_semidim_y),
157158
)
158159
goal_poses.append(position.squeeze(1))
159160
occupied_positions = torch.cat([occupied_positions, position], dim=1)

0 commit comments

Comments
 (0)