-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathinteractive_set_rotation.yaml
103 lines (94 loc) · 3.31 KB
/
interactive_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
# 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.
# You will need to change the "end" in "freezes" to 80 to avoid errors.
# We also recommend you change the "rotation_y" in "turntable_movement" to 0,
# so the turntable does not rotate during the sidestepping.
# sidesteps:
# - begin: 81
# object_label: turntables
# degrees: [90, 180, 270, 360, -90, -180, -270, -360]
# 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. 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: 81
rotation_y: [5, -5]
end_after_rotation: [90, 180, 270, 360]
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