in bisk/tasks/gaps.py [0:0]
def reset_state(self):
super().reset_state()
self.max_platforms_reached = 0
xpos = 4
if self.fixed_size:
gaps = np.zeros(self.n_platforms) + self.min_gap
sizes = np.zeros(self.n_platforms) + self.max_size
else:
if self.robot.startswith('quadruped'):
gaps = self.np_random.uniform(
0.8, 1.55, size=(self.n_platforms,)
)
ms = max(self.max_size * 2, 2.0)
sizes = self.np_random.uniform(
2.0, ms, size=(self.n_platforms,)
)
elif self.robot.startswith('humanoid'):
gaps = self.np_random.uniform(
self.min_gap, self.max_gap, size=(self.n_platforms,)
)
sizes = self.np_random.uniform(
1.0, self.max_size, size=(self.n_platforms,)
)
else:
gaps = self.np_random.uniform(
self.min_gap, self.max_gap, size=(self.n_platforms,)
)
sizes = self.np_random.uniform(
0.5, self.max_size, size=(self.n_platforms,)
)
self.gap_starts = []
self.platform_starts = []
for i in range(self.n_platforms):
self.gap_starts.append(xpos)
self.p.named.model.geom_size[f'gap-{i}'][0] = gaps[i] / 2
self.p.named.model.geom_pos[f'gap-{i}'][0] = xpos + gaps[i] / 2
xpos += gaps[i]
self.platform_starts.append(xpos)
self.p.named.model.geom_size[f'platform-{i}'][0] = sizes[i] / 2
self.p.named.model.geom_pos[f'platform-{i}'][0] = (
xpos + sizes[i] / 2
)
xpos += sizes[i]