-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathinteractive_shell_game.yaml
140 lines (133 loc) · 4.94 KB
/
interactive_shell_game.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
# Use a specific room size and starting position/rotation for this task.
room_dimensions:
x: 10
y: 4
z: 10
performer_start_position:
x: 0
y: 0
z: -2
performer_start_rotation:
x: 0
y: 0
# The performer agent is frozen until all the placers are finished moving.
freeze_while_moving: placers
# Add a Retrieval goal with a soccer ball as the target object.
goal:
category: retrieval
target:
shape: soccer_ball
scale: 1.0
# Only the target can be a soccer ball.
excluded_shapes: soccer_ball
specific_interactable_objects:
# Generate either one or two "non-target containers", which will not be
# holding the target object, using a specific scale and shape.
- num: [1, 2]
labels: non_target_container
scale: 0.4
shape: separate_container
# The container's lid descends at a specific step.
separate_lid_after: target_placer
# The containers are positioned at one of five different locations.
position:
x: [-1.5, 0.75, 0, 0.75, 1.5]
y: 0
z: 4
rotation:
x: 0
y: 0
z: 0
# Generate a "target container", which will be holding the target object,
# using a specific scale and shape, identical to the other containers.
- num: 1
labels: target_container
scale: 0.4
shape: separate_container
# The container's lid descends after the target_placer finishes moving.
separate_lid_after: target_placer
# Default location - the placer will adjust this below.
position:
x: 0
y: 0
z: 0
rotation:
x: 0
y: 0
z: 0
placers:
# Generate a placer that descends from the ceiling, grabs onto the target
# container, drags it to a new location, releases the container, and
# ascends back into the ceiling.
- num: 1
# Move the target container either immediately after the scene begins
# (step 1) or after the target object has been inserted into this
# container and its lid is attached (step 81).
move_object: true
activation_step: [1, 81]
placed_object_labels: target_container
# Start the container in one of the following possible locations.
placed_object_position:
x: [-1.5, -0.75, 0, 0.75, 1.5]
y: 0
z: 4
placed_object_rotation: 0
# Move the container to one of the following possible locations.
# Locations that are already occupied will be ignored.
move_object_end_position:
x: [-1.5, -0.75, 0, 0.75, 1.5]
y: 0
z: 4
# Move the container forward by a variable amount on the Z axis.
# The movement pattern is: Z axis (toward the camera), X axis (sideways),
# Z axis (away from the camera).
move_object_z: [1, 1.5, 2, 2.5]
labels: container_dragger
# Sometimes generate a second placer that descends from the ceiling, grabs
# onto a non-target container, drags it to a new location, releases it, and
# ascends back into the ceiling.
- num: [0, 1]
# Move a non-target container either immediately after the scene begins
# (step 1) or after the target object has been inserted into this
# container and its lid is attached (step 81).
move_object: true
activate_after: container_dragger
placed_object_labels: non_target_container
# Start the container in one of the following possible locations.
placed_object_position:
x: [-1.5, -0.75, 0, 0.75, 1.5]
y: 0
z: 4
placed_object_rotation: 0
# Move the container to one of the following possible locations.
# Locations that are already occupied will be ignored.
move_object_end_position:
x: [-1.5, -0.75, 0, 0.75, 1.5]
y: 0
z: 4
# Move the container forward by a variable amount on the Z axis.
# The movement pattern is: Z axis (toward the camera), X axis (sideways),
# Z axis (away from the camera).
move_object_z: [1, 1.5, 2, 2.5]
labels: container_dragger
# Generate a placer that starts holding the target object, descends from
# the ceiling above the target container, releases the target object into
# the target container, and then ascends back into the ceiling.
- num: 1
# Begin moving after the dragger finishes its movement, if the dragger
# started moving on step 1; otherwise begin moving on step 1.
activate_on_start_or_after: container_dragger
placed_object_labels: target
placed_object_above: target_container
placed_object_rotation: 0
end_height: 0.25
labels: target_placer
# Can only open one container in each scene.
restrict_open_objects: true
# Override the defaults to avoid randomly generating any other objects besides
# the placers, containers, and target. Remove these lines if you want
# additional randomly generated objects.
random_structural_objects:
- num: 0
keyword_objects:
- num: 0