Skip to content

Commit 246fd07

Browse files
authored
Add 11 new robolab pick and place envs (#845)
## Summary Add additional robolab pick and place yamls from agentic env gen ## Detailed description - Add 11 new yamls for robolab tasks. These are generated by agentic env gen with minor editing. - Add a missing object assset. - Fix a existing yaml config angle mistake (rad instead of degree) --------- Signed-off-by: Qian Lin <qianl@nvidia.com>
1 parent 273abfb commit 246fd07

14 files changed

Lines changed: 1295 additions & 2 deletions

isaaclab_arena/assets/object_library.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -676,6 +676,15 @@ class GreenContainer(LibraryObject):
676676
scale = (0.5, 0.5, 0.5)
677677

678678

679+
@register_asset
680+
class PurpleCrate(LibraryObject):
681+
"""A purple KLT container."""
682+
683+
name = "purple_crate"
684+
tags = ["object", "container"]
685+
usd_path = f"{ISAAC_NUCLEUS_DIR}/Props/KLT_Bin/small_KLT.usd"
686+
687+
679688
@register_asset
680689
class BlueBlockBasicRobolab(LibraryObject):
681690
# TODO(cvolk): pick_and_place success termination does not consistently trigger
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# Copyright (c) 2026, The Isaac Lab Arena Project Developers (https://github.com/isaac-sim/IsaacLab-Arena/blob/main/CONTRIBUTORS.md).
2+
# All rights reserved.
3+
#
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
env_name: banana_bowl
7+
nodes:
8+
- id: maple_table_robolab
9+
name: maple_table_robolab
10+
type: background
11+
params: {}
12+
- id: droid
13+
name: droid_abs_joint_pos
14+
type: embodiment
15+
params: {}
16+
- id: banana
17+
name: banana_ycb_robolab
18+
type: object
19+
params: {}
20+
- id: bowl
21+
name: bowl_ycb_robolab
22+
type: object
23+
params: {}
24+
tasks:
25+
- kind: PickAndPlaceTask
26+
params:
27+
pick_up_object: banana
28+
destination_location: bowl
29+
background_scene: maple_table_robolab
30+
episode_length_s: 20.0
31+
description: pick up the banana and place it in the bowl
32+
id: task_0_PickAndPlaceTask
33+
initial_state_spec_id: state_initial
34+
success_state_spec_id: state_spec_1
35+
state_specs:
36+
- id: state_initial
37+
is_delta: false
38+
spatial_constraints:
39+
- kind: is_anchor
40+
subject: maple_table_robolab
41+
params: {}
42+
id: state_initial_0_is_anchor_maple_table_robolab
43+
- kind: 'on'
44+
subject: bowl
45+
reference: maple_table_robolab
46+
params: {}
47+
id: state_initial_1_on_maple_table_robolab_bowl
48+
- kind: 'on'
49+
subject: banana
50+
reference: maple_table_robolab
51+
params: {}
52+
id: state_initial_2_on_maple_table_robolab_banana
53+
task_constraints: []
54+
- id: state_spec_1
55+
is_delta: true
56+
spatial_constraints:
57+
- kind: 'on'
58+
subject: banana
59+
reference: bowl
60+
params: {}
61+
id: state_spec_1_banana_on_bowl
62+
task_constraints: []
63+
cli_override_specs: []
Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
1+
# Copyright (c) 2026, The Isaac Lab Arena Project Developers (https://github.com/isaac-sim/IsaacLab-Arena/blob/main/CONTRIBUTORS.md).
2+
# All rights reserved.
3+
#
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
env_name: bin_condiments
7+
nodes:
8+
- id: maple_table_robolab
9+
name: maple_table_robolab
10+
type: background
11+
params: {}
12+
- id: droid
13+
name: droid_abs_joint_pos
14+
type: embodiment
15+
params: {}
16+
- id: coffee_pot
17+
name: coffee_pot_hot3d_robolab
18+
type: object
19+
params: {}
20+
- id: grey_bin
21+
name: grey_bin_robolab
22+
type: object
23+
params: {}
24+
- id: mug
25+
name: mug
26+
type: object
27+
params: {}
28+
- id: mustard
29+
name: mustard_bottle_hope_robolab
30+
type: object
31+
params: {}
32+
- id: bowl
33+
name: bowl_ycb_robolab
34+
type: object
35+
params: {}
36+
- id: ranch_dressing
37+
name: ranch_dressing_hope_robolab
38+
type: object
39+
params: {}
40+
- id: bbq_sauce_bottle_1
41+
name: bbq_sauce_bottle_hope_robolab
42+
type: object
43+
params: {}
44+
- id: bbq_sauce_bottle_2
45+
name: bbq_sauce_bottle_hope_robolab
46+
type: object
47+
params: {}
48+
- id: oatmeal_raisin_cookies
49+
name: oatmeal_raisin_cookies_hope_robolab
50+
type: object
51+
params: {}
52+
- id: canned_tuna
53+
name: canned_tuna_hope_robolab
54+
type: object
55+
params: {}
56+
- id: soft_scrub
57+
name: soft_scrub_ycb_robolab
58+
type: object
59+
params: {}
60+
- id: wood_block
61+
name: wood_block_ycb_robolab
62+
type: object
63+
params: {}
64+
tasks:
65+
- kind: PickAndPlaceTask
66+
params:
67+
pick_up_object: coffee_pot
68+
destination_location: grey_bin
69+
background_scene: maple_table_robolab
70+
episode_length_s: 20.0
71+
max_separation: [0.1, 0.1, 0.1]
72+
description: pick up the coffee pot and place it into the grey bin
73+
id: task_0_PickAndPlaceTask
74+
initial_state_spec_id: state_initial
75+
success_state_spec_id: state_spec_1
76+
state_specs:
77+
- id: state_initial
78+
is_delta: false
79+
spatial_constraints:
80+
- kind: is_anchor
81+
subject: maple_table_robolab
82+
params: {}
83+
id: state_initial_0_is_anchor_maple_table_robolab
84+
- kind: 'on'
85+
subject: coffee_pot
86+
reference: maple_table_robolab
87+
params: {}
88+
id: state_initial_1_on_maple_table_robolab_coffee_pot
89+
- kind: 'on'
90+
subject: grey_bin
91+
reference: maple_table_robolab
92+
params: {}
93+
id: state_initial_2_on_maple_table_robolab_grey_bin
94+
- kind: 'on'
95+
subject: mug
96+
reference: maple_table_robolab
97+
params: {}
98+
id: state_initial_3_on_maple_table_robolab_mug
99+
- kind: 'on'
100+
subject: mustard
101+
reference: maple_table_robolab
102+
params: {}
103+
id: state_initial_4_on_maple_table_robolab_mustard
104+
- kind: 'on'
105+
subject: bowl
106+
reference: maple_table_robolab
107+
params: {}
108+
id: state_initial_5_on_maple_table_robolab_bowl
109+
- kind: 'on'
110+
subject: ranch_dressing
111+
reference: maple_table_robolab
112+
params: {}
113+
id: state_initial_6_on_maple_table_robolab_ranch_dressing
114+
- kind: 'on'
115+
subject: bbq_sauce_bottle_1
116+
reference: maple_table_robolab
117+
params: {}
118+
id: state_initial_7_on_maple_table_robolab_bbq_sauce_bottle_1
119+
- kind: 'on'
120+
subject: bbq_sauce_bottle_2
121+
reference: maple_table_robolab
122+
params: {}
123+
id: state_initial_8_on_maple_table_robolab_bbq_sauce_bottle_2
124+
- kind: 'on'
125+
subject: oatmeal_raisin_cookies
126+
reference: maple_table_robolab
127+
params: {}
128+
id: state_initial_9_on_maple_table_robolab_oatmeal_raisin_cookies
129+
- kind: 'on'
130+
subject: canned_tuna
131+
reference: maple_table_robolab
132+
params: {}
133+
id: state_initial_10_on_maple_table_robolab_canned_tuna
134+
- kind: 'on'
135+
subject: soft_scrub
136+
reference: maple_table_robolab
137+
params: {}
138+
id: state_initial_11_on_maple_table_robolab_soft_scrub
139+
- kind: 'on'
140+
subject: wood_block
141+
reference: maple_table_robolab
142+
params: {}
143+
id: state_initial_12_on_maple_table_robolab_wood_block
144+
task_constraints: []
145+
- id: state_spec_1
146+
is_delta: true
147+
spatial_constraints:
148+
- kind: 'on'
149+
subject: coffee_pot
150+
reference: grey_bin
151+
params: {}
152+
id: state_spec_1_coffee_pot_on_grey_bin
153+
task_constraints: []
154+
cli_override_specs: []
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
# Copyright (c) 2026, The Isaac Lab Arena Project Developers (https://github.com/isaac-sim/IsaacLab-Arena/blob/main/CONTRIBUTORS.md).
2+
# All rights reserved.
3+
#
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
env_name: bottles_crate
7+
nodes:
8+
- id: maple_table_robolab
9+
name: maple_table_robolab
10+
type: background
11+
params: {}
12+
- id: droid
13+
name: droid_abs_joint_pos
14+
type: embodiment
15+
params: {}
16+
- id: bbq_sauce_bottle
17+
name: bbq_sauce_bottle_hope_robolab
18+
type: object
19+
params: {}
20+
- id: purple_crate
21+
name: purple_crate
22+
type: object
23+
params: {}
24+
- id: ceramic_mug
25+
name: ceramic_mug_hot3d_robolab
26+
type: object
27+
params: {}
28+
- id: salad_dressing_bottle
29+
name: salad_dressing_bottle_hot3d_robolab
30+
type: object
31+
params: {}
32+
tasks:
33+
- kind: PickAndPlaceTask
34+
params:
35+
pick_up_object: bbq_sauce_bottle
36+
destination_location: purple_crate
37+
background_scene: maple_table_robolab
38+
episode_length_s: 20.0
39+
max_separation: [0.1, 0.1, 0.1]
40+
description: place the bbq sauce bottle into the purple crate on the table
41+
id: task_0_PickAndPlaceTask
42+
initial_state_spec_id: state_initial
43+
success_state_spec_id: state_spec_1
44+
state_specs:
45+
- id: state_initial
46+
is_delta: false
47+
spatial_constraints:
48+
- kind: is_anchor
49+
subject: maple_table_robolab
50+
params: {}
51+
id: state_initial_0_is_anchor_maple_table_robolab
52+
- kind: 'on'
53+
subject: bbq_sauce_bottle
54+
reference: maple_table_robolab
55+
params: {}
56+
id: state_initial_1_on_maple_table_robolab_bbq_sauce_bottle
57+
- kind: 'on'
58+
subject: purple_crate
59+
reference: maple_table_robolab
60+
params: {}
61+
id: state_initial_2_on_maple_table_robolab_purple_crate
62+
- kind: 'on'
63+
subject: ceramic_mug
64+
reference: maple_table_robolab
65+
params: {}
66+
id: state_initial_3_on_maple_table_robolab_ceramic_mug
67+
- kind: 'on'
68+
subject: salad_dressing_bottle
69+
reference: maple_table_robolab
70+
params: {}
71+
id: state_initial_4_on_maple_table_robolab_salad_dressing_bottle
72+
task_constraints: []
73+
- id: state_spec_1
74+
is_delta: true
75+
spatial_constraints:
76+
- kind: 'on'
77+
subject: bbq_sauce_bottle
78+
reference: purple_crate
79+
params: {}
80+
id: state_spec_1_bbq_sauce_bottle_on_purple_crate
81+
task_constraints: []
82+
cli_override_specs: []
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# Copyright (c) 2026, The Isaac Lab Arena Project Developers (https://github.com/isaac-sim/IsaacLab-Arena/blob/main/CONTRIBUTORS.md).
2+
# All rights reserved.
3+
#
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
env_name: butter_raisin_box
7+
nodes:
8+
- id: maple_table_robolab
9+
name: maple_table_robolab
10+
type: background
11+
params: {}
12+
- id: droid
13+
name: droid_abs_joint_pos
14+
type: embodiment
15+
params: {}
16+
- id: butter_hope_robolab
17+
name: butter_hope_robolab
18+
type: object
19+
params: {}
20+
- id: raisin_box_hope_robolab
21+
name: raisin_box_hope_robolab
22+
type: object
23+
params: {}
24+
tasks:
25+
- kind: PickAndPlaceTask
26+
params:
27+
pick_up_object: butter_hope_robolab
28+
destination_location: raisin_box_hope_robolab
29+
background_scene: maple_table_robolab
30+
episode_length_s: 20.0
31+
description: pick up the butter box and place it on top of the raisin box
32+
id: task_0_PickAndPlaceTask
33+
initial_state_spec_id: state_initial
34+
success_state_spec_id: state_spec_1
35+
state_specs:
36+
- id: state_initial
37+
is_delta: false
38+
spatial_constraints:
39+
- kind: is_anchor
40+
subject: maple_table_robolab
41+
params: {}
42+
id: state_initial_0_is_anchor_maple_table_robolab
43+
- kind: 'on'
44+
subject: butter_hope_robolab
45+
reference: maple_table_robolab
46+
params: {}
47+
id: state_initial_1_on_maple_table_robolab_butter_hope_robolab
48+
- kind: 'on'
49+
subject: raisin_box_hope_robolab
50+
reference: maple_table_robolab
51+
params: {}
52+
id: state_initial_2_on_maple_table_robolab_raisin_box_hope_robolab
53+
# TODO: support rotate around solution from the agent intent spec
54+
- kind: 'rotate_around_solution'
55+
subject: raisin_box_hope_robolab
56+
params: {
57+
pitch_rad: 1.57
58+
}
59+
id: state_initial_3_rotate_around_solution_raisin_box
60+
task_constraints: []
61+
- id: state_spec_1
62+
is_delta: true
63+
spatial_constraints:
64+
- kind: 'on'
65+
subject: butter_hope_robolab
66+
reference: raisin_box_hope_robolab
67+
params: {}
68+
id: state_spec_1_butter_hope_robolab_on_raisin_box_hope_robolab
69+
task_constraints: []
70+
cli_override_specs: []

0 commit comments

Comments
 (0)