Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions isaaclab_arena/assets/background_library.py
Original file line number Diff line number Diff line change
Expand Up @@ -221,3 +221,61 @@ class TableOakRobolab(LibraryBackground):
tags = ["background", "robolab"]
usd_path = f"{ARENA_NUCLEUS_DIR}/Arena/assets/object_library/srl_robolab_assets/fixtures/table_oak.usd"
object_min_z = -0.05


# -----------------------------------------------------------------------------
# Replicator kitchen backgrounds
# -----------------------------------------------------------------------------

_REPLICATOR_KITCHEN_ROOT = f"{ARENA_NUCLEUS_DIR}/Arena/assets/background_library/replicator_kitchen"


class ReplicatorKitchenBackground(LibraryBackground):
"""Base class for Replicator-generated kitchen floorplans."""

tags = ["background", "replicator"]
initial_pose = Pose.identity()
object_min_z = -0.2

def get_viewer_cfg(self) -> ViewerCfg:
return ViewerCfg(eye=(0.0, -1.0, 1.35), lookat=(0.0, 0.0, 1.35))


@register_asset
class ReplicatorKitchenGShape(ReplicatorKitchenBackground):
"""Replicator G-shaped kitchen."""

name = "replicator_kitchen_g_shape"
usd_path = f"{_REPLICATOR_KITCHEN_ROOT}/kitchen_g_shape.usda"


@register_asset
class ReplicatorKitchenLIsland(ReplicatorKitchenBackground):
"""Replicator L-shaped kitchen with an island."""

name = "replicator_kitchen_l_island"
usd_path = f"{_REPLICATOR_KITCHEN_ROOT}/kitchen_l_island.usda"


@register_asset
class ReplicatorKitchenLShape(ReplicatorKitchenBackground):
"""Replicator L-shaped kitchen."""

name = "replicator_kitchen_l_shape"
usd_path = f"{_REPLICATOR_KITCHEN_ROOT}/kitchen_l_shape.usda"


@register_asset
class ReplicatorKitchenPeninsula(ReplicatorKitchenBackground):
"""Replicator kitchen with a peninsula."""

name = "replicator_kitchen_peninsula"
usd_path = f"{_REPLICATOR_KITCHEN_ROOT}/kitchen_peninsula.usda"


@register_asset
class ReplicatorKitchenUShape(ReplicatorKitchenBackground):
"""Replicator U-shaped kitchen."""

name = "replicator_kitchen_u_shape"
usd_path = f"{_REPLICATOR_KITCHEN_ROOT}/kitchen_u_shape.usda"
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# Copyright (c) 2026, The Isaac Lab Arena Project Developers (https://github.com/isaac-sim/IsaacLab-Arena/blob/main/CONTRIBUTORS.md).
# All rights reserved.
#
# SPDX-License-Identifier: Apache-2.0

env_name: droid_banana_to_bowl_kitchen_g_shape
embodiment:
id: droid
registry_name: droid_abs_joint_pos
params:
stand_height_m: 0.8
placement_bbox_stand_only: true
background:
id: kitchen
registry_name: replicator_kitchen_g_shape
params:
collision_mode: mesh
objects:
- id: banana
registry_name: banana_ycb_robolab
params: {}
- id: bowl
registry_name: bowl_ycb_robolab
params: {}
object_references:
- id: floor
parent_id: kitchen
prim_path: KitchenRoom/Floor
object_type: base
params: {}
- id: corner_counter
parent_id: kitchen
prim_path: CornerCounter_00_0
Comment thread
qianl-nv marked this conversation as resolved.
object_type: base
params: {}
relations:
- kind: is_anchor
subject: floor
params: {}
- kind: is_anchor
subject: corner_counter
params: {}
- kind: 'on'
subject: droid
reference: floor
params: {}
- kind: next_to
subject: droid
reference: corner_counter
params:
side: negative_y
distance_m: 0.15
tolerance_m: 0.15
- kind: rotate_around_solution
subject: droid
params:
yaw_rad: 1.57
- kind: 'on'
subject: banana
reference: corner_counter
params: {}
- kind: 'on'
subject: bowl
reference: corner_counter
params: {}
task:
composition: atomic
description: pick up the banana from the corner counter and place it in the bowl
subtasks:
- kind: PickAndPlaceTask
params:
pick_up_object: banana
destination_location: bowl
background_scene: kitchen
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# Copyright (c) 2026, The Isaac Lab Arena Project Developers (https://github.com/isaac-sim/IsaacLab-Arena/blob/main/CONTRIBUTORS.md).
# All rights reserved.
#
# SPDX-License-Identifier: Apache-2.0

env_name: droid_bowl_to_sink_kitchen_g_shape
embodiment:
id: droid
registry_name: droid_abs_joint_pos
params:
stand_height_m: 0.8
placement_bbox_stand_only: true
background:
id: kitchen
registry_name: replicator_kitchen_g_shape
params:
collision_mode: mesh
objects:
- id: bowl
registry_name: bowl_ycb_robolab
params: {}
object_references:
- id: floor
parent_id: kitchen
prim_path: KitchenRoom/Floor
object_type: base
params: {}
- id: sink
parent_id: kitchen
prim_path: Sink/BasinBottom
object_type: base
params: {}
- id: sink_counter
parent_id: kitchen
prim_path: CapSurface_02
object_type: base
params: {}
relations:
- kind: is_anchor
subject: floor
params: {}
- kind: is_anchor
subject: sink
params: {}
- kind: is_anchor
subject: sink_counter
params: {}
- kind: 'on'
subject: droid
reference: floor
params: {}
- kind: next_to
subject: droid
reference: sink
params:
side: negative_x
distance_m: 0.15
tolerance_m: 0.15
- kind: rotate_around_solution
subject: droid
params:
yaw_rad: 0.0
- kind: 'on'
subject: bowl
reference: sink_counter
params: {}
- kind: next_to
subject: bowl
reference: sink
params:
side: positive_y
distance_m: 0.1
task:
composition: atomic
description: pick up the bowl from the sink counter and place it in the sink
subtasks:
- kind: PickAndPlaceTask
params:
pick_up_object: bowl
destination_location: sink
background_scene: kitchen
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# Copyright (c) 2026, The Isaac Lab Arena Project Developers (https://github.com/isaac-sim/IsaacLab-Arena/blob/main/CONTRIBUTORS.md).
# All rights reserved.
#
# SPDX-License-Identifier: Apache-2.0

env_name: droid_mustard_to_bowl_kitchen_g_shape
embodiment:
id: droid
registry_name: droid_abs_joint_pos
params:
stand_height_m: 0.8
placement_bbox_stand_only: true
background:
id: kitchen
registry_name: replicator_kitchen_g_shape
params:
collision_mode: mesh
objects:
- id: mustard_bottle
registry_name: mustard_bottle_hope_robolab
params: {}
- id: bowl
registry_name: bowl_ycb_robolab
params: {}
object_references:
- id: floor
parent_id: kitchen
prim_path: KitchenRoom/Floor
object_type: base
params: {}
- id: island_top
parent_id: kitchen
prim_path: CapSurface_03
object_type: base
params: {}
relations:
- kind: is_anchor
subject: floor
params: {}
- kind: is_anchor
subject: island_top
params: {}
- kind: 'on'
subject: droid
reference: floor
params: {}
- kind: next_to
subject: droid
reference: island_top
params:
side: positive_y
distance_m: 0.15
tolerance_m: 0.15
- kind: rotate_around_solution
subject: droid
params:
yaw_rad: -1.57
- kind: 'on'
subject: mustard_bottle
reference: island_top
params: {}
- kind: 'on'
subject: bowl
reference: island_top
params: {}
task:
composition: atomic
description: pick up the mustard bottle from the kitchen island and place it in the bowl
subtasks:
- kind: PickAndPlaceTask
params:
pick_up_object: mustard_bottle
destination_location: bowl
background_scene: kitchen
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# Copyright (c) 2026, The Isaac Lab Arena Project Developers (https://github.com/isaac-sim/IsaacLab-Arena/blob/main/CONTRIBUTORS.md).
# All rights reserved.
#
# SPDX-License-Identifier: Apache-2.0

env_name: droid_banana_to_bowl_kitchen_l_island
embodiment:
id: droid
registry_name: droid_abs_joint_pos
params:
stand_height_m: 0.8
placement_bbox_stand_only: true
background:
id: kitchen
registry_name: replicator_kitchen_l_island
params:
collision_mode: mesh
objects:
- id: banana
registry_name: banana_ycb_robolab
params: {}
- id: bowl
registry_name: bowl_ycb_robolab
params: {}
object_references:
- id: floor
parent_id: kitchen
prim_path: KitchenRoom/Floor
object_type: base
params: {}
- id: corner_counter
parent_id: kitchen
prim_path: CornerCounter_00_0
object_type: base
params: {}
relations:
- kind: is_anchor
subject: floor
params: {}
- kind: is_anchor
subject: corner_counter
params: {}
- kind: 'on'
subject: droid
reference: floor
params: {}
- kind: next_to
subject: droid
reference: corner_counter
params:
side: negative_y
distance_m: 0.15
tolerance_m: 0.15
- kind: rotate_around_solution
subject: droid
params:
yaw_rad: 1.57
- kind: 'on'
subject: banana
reference: corner_counter
params: {}
- kind: 'on'
subject: bowl
reference: corner_counter
params: {}
task:
composition: atomic
description: pick up the banana from the corner counter and place it in the bowl
subtasks:
- kind: PickAndPlaceTask
params:
pick_up_object: banana
destination_location: bowl
background_scene: kitchen
Loading
Loading