-
Notifications
You must be signed in to change notification settings - Fork 293
Closed
Description
Hi, I think one of the possible language instructions in stack_cup is incorrect.
The task is to place two cups into one specified cup. But one of the language variations is "place two of the cups onto the odd cup out", but there is no way to determine which cup is the odd cup out.
Looking at the code with 20 colors available:
# Cup2 gets the target color (based on variation index)
self.cup2_visual.set_color(target_rgb)
# Cup1 gets ANY color except the target (19 possibilities)
random_idx = np.random.choice(len(colors))
while random_idx == index:
random_idx = np.random.choice(len(colors))
_, other1_rgb = colors[random_idx]
# Cup3 gets ANY color except the target (19 possibilities)
random_idx = np.random.choice(len(colors))
while random_idx == index:
random_idx = np.random.choice(len(colors))
_, other2_rgb = colors[random_idx]
# Cup placement logic is identical:
self.boundary.sample(self.cup2, min_distance=0.05,
min_rotation=(0, 0, 0), max_rotation=(0, 0, 0))
self.boundary.sample(self.cup1, min_distance=0.05,
min_rotation=(0, 0, 0), max_rotation=(0, 0, 0))
self.boundary.sample(self.cup3, min_distance=0.05,
min_rotation=(0, 0, 0), max_rotation=(0, 0, 0))
The issue:
- With 20 colors, there's only a ~5.3% chance (1/19) that cup1 and cup3 get the same color
- In ~95% of episodes, all three cups have different colors
- When all three are different, the instruction "place two of the cups onto the odd cup out" is ambiguous. There is no objective "odd one out"
Should we remove this instruction?
Metadata
Metadata
Assignees
Labels
No labels