forked from NextCenturyCorporation/mcs-scene-generator
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathinteractive_hidden_set_rotation.yaml
125 lines (115 loc) · 4.2 KB
/
interactive_hidden_set_rotation.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
# Use a specific room size and starting position/rotation for this task.
room_dimensions:
x: 12
y: 4
z: 12
performer_start_position:
x: 0
y: 0
z: -3.5
performer_start_rotation:
x: 0
y: 0
# The performer agent is frozen until the turntable is finished rotating and placers are done moving.
freeze_while_moving: [placers, turntables]
# If desired, force the performer agent to circumnavigate the turntable.
# 1. Uncomment the "sidesteps" and "freezes" config options below.
# 2. Remove the "freeze_while_moving" config option above.
# 3. Change the "up_step" in "structural_tube_occluders" from 170 to 405,
# so the tube occluder does not go up until the performer agent has
# finished circumnavigating the turntable up to 360 degrees.
# 4. Change the "turntable_movement.rotation_y" in "structural_turntables"
# from [5, -5] to 0, so the turntable does not rotate as well.
# sidesteps:
# - begin: 96
# object_label: turntables
# degrees: [90, 180, 270, 360, -90, -180, -270, -360]
# freezes:
# - begin: 1
# end: 95
# 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
# Generate a large turntable (cog) with a specific color, height, position,
# radius, and starting rotation (facing).
structural_turntables:
- num: 1
position:
x: 0
y: 0
z: 1
rotation_y: 0
turntable_radius: 2
# Start rotating the turntable after the lids have been placed on their
# containers and the tube occluder has gone down to hide it. It will
# rotate by either 5 or -5 degrees on each step, for a total rotation of
# either 90, 180, 270, or 360 degrees.
turntable_movement:
step_begin: 96
rotation_y: [5, -5]
end_after_rotation: [90, 180, 270, 360]
# Generate a tube occluder large enough to surround the turntable.
structural_tube_occluders:
- num: 1
position_x: 0
position_z: 1
radius: 5.2
# The tube occluder goes down to hide the turntable after the lids have
# been placed on their containers.
down_step: 81
# The tube occluder goes back up to reveal the turntable after enough
# time for the turntable to rotate up to 360 degrees (though it may have
# actually rotated less than 360 degrees).
up_step: 170
specific_interactable_objects:
# Generate one, two, or three identical containers using a specific scale
# and shape that are each positioned on top of the turntable (cog).
- num: [1, 2, 3]
labels: containers
scale: 0.4
shape: separate_container
keyword_location:
keyword: on_center
relative_object_label: turntables
# Each container will either be on the left edge, the right edge, or
# the middle of the turntable (cog).
position_relative_to_start:
- x: -0.9
z: 0
- x: 0
z: 0
- x: 0.9
z: 0
# The containers should all have the same starting rotation (facing).
rotation:
x: 0
y: 0
z: 0
# The containers' lids descend after the target_placer finishes moving.
separate_lid_after: target_placer
placers:
# Generate a placer that starts holding the target object, descends from
# the ceiling above one of the containers, releases the target object into
# the chosen container, and then ascends back into the ceiling.
- num: 1
# Always start moving immediately after the scene begins (step 1).
activation_step: 1
placed_object_labels: target
placed_object_above: containers
placed_object_rotation: 0
end_height: 0.35
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 turntable, containers, lids, placers, and target. Remove these lines if
# you want additional randomly generated objects.
random_structural_objects:
- num: 0
keyword_objects:
- num: 0