Files
issacdataengine/workflows/simbox/core/utils/constants.py
2026-03-16 11:44:10 +00:00

332 lines
13 KiB
Python

"""
Global constants used across simbox workflows.
- CATEGORIES: per-category preferred Euler angles for data randomization
(see `dr.get_category_euler`). Keys are dataset/category names
(e.g. \"omniobject3d-banana\"), values are allowed rotations on axes x/y/z.
- HEARTH_KITCHENS: pre-defined kitchen room scenes (geometry USDs) with
associated transforms, used to load different kitchen layouts.
- CATEGORIES_SCALE_SUGGESTED: default scaling for container / place targets
by category name (e.g. basket, bowl, dish) in place-style tasks.
- OBJECT_SCALE_SUGGESTED: per-asset scaling overrides for specific USD assets
(e.g. particular bowls or boxes that need non-uniform scale).
- HANDOVER_RANGE: list of category names that are considered suitable for
handover-style skills (thin / graspable objects).
- CUROBO_BATCH_SIZE: default batch size used in cuRobo planners.
These constants are imported by utilities in `dr.py`, place/pick skills, and
scene setup code to keep configuration in a single shared location.
"""
CATEGORIES = {
# large-scale pick objects
"google_scan-book": {"y": [0, 90, 180, 270]},
"google_scan-bottle": {"x": [0, 90]},
"google_scan-clock": {"x": [0, 90, 180, 270]},
"google_scan-dinosaur": {"x": [90]},
"google_scan-garage_kit": {"x": [90]},
"google_scan-handbag": {"x": [90, 270]},
"google_scan-hat": {"x": [90]},
# "google_scan-medicine_bottle": {"x": [0, 90, 180]},
"google_scan-medicine_bottle": {"x": [0, 180]},
"google_scan-mug": {"x": [0, 90]},
"google_scan-shoe": {"x": [0, 90, 180, 270]},
"google_scan-toy_animals": {"x": [90]},
"google_scan-toy_boat": {"x": [90]},
"google_scan-toy_bus": {"x": [90]},
"google_scan-toy_car": {"x": [90]},
"google_scan-toy_plane": {"x": [90]},
"google_scan-toy_train": {"x": [90]},
"google_scan-toy_truck": {"x": [90]},
"omniobject3d-banana": {"x": [0, 180]},
"omniobject3d-belt": {"x": [90, 270]},
"omniobject3d-book": {"y": [0, 90, 180, 270]},
# "omniobject3d-bottle": {"x": [0, 90, 180]},
"omniobject3d-bottle": {"x": [0, 180]},
"omniobject3d-bowl": {"x": [90]},
"omniobject3d-boxed_beverage": {"x": [0, 90, 180, 270]},
"omniobject3d-bread": {"x": [90, 270]},
"omniobject3d-brush": {"y": [0, 90, 180, 270]},
"omniobject3d-calculator": {"x": [0]},
"omniobject3d-can": {"x": [0, 90]},
"omniobject3d-carrot": {"x": [0, 180]},
"omniobject3d-chess": {"x": [90]},
"omniobject3d-chili": {"x": [0, 180]},
"omniobject3d-chinese_chess": {"x": [90]},
"omniobject3d-clock": {"x": [90]},
"omniobject3d-corn": {"x": [0, 180]},
"omniobject3d-cucumber": {"x": [0, 180]},
"omniobject3d-cup": {"x": [90]},
"omniobject3d-dinosaur": {"x": [90]},
"omniobject3d-dish": {"x": [90]},
"omniobject3d-egg_tart": {"x": [90]},
"omniobject3d-flash_light": {"x": [0, 180]},
"omniobject3d-garage_kit": {"x": [90]},
"omniobject3d-glasses": {"x": [90]},
"omniobject3d-glasses_case": {"x": [90, 270]},
"omniobject3d-hair_dryer": {"x": [0, 180]},
"omniobject3d-hamburger": {"x": [90]},
"omniobject3d-hammer": {"x": [0, 180]},
"omniobject3d-hot_dog": {"x": [90]},
"omniobject3d-knife": {"y": [90, 270]},
"omniobject3d-medicine_bottle": {"x": [0, 90, 180]},
"omniobject3d-mooncake": {"x": [90]},
"omniobject3d-mouse": {"x": [90]},
"omniobject3d-mug": {"x": [90]},
"omniobject3d-pen": {"x": [0, 180]},
"omniobject3d-pineapple": {"x": [90]},
"omniobject3d-power_strip": {"x": [90]},
"omniobject3d-razor": {"y": [0, 90, 180, 270]},
"omniobject3d-red_wine_glass": {"x": [90]},
"omniobject3d-remote_control": {"y": [270]},
"omniobject3d-sausage": {"x": [0, 180]},
"omniobject3d-scissor": {"y": [90, 270]},
"omniobject3d-shampoo": {"x": [0, 90, 180]},
"omniobject3d-shoe": {"x": [90]},
"omniobject3d-soap": {"x": [0, 90, 180, 270]},
"omniobject3d-spanner": {"x": [90, 270]},
"omniobject3d-starfish": {"x": [90]},
"omniobject3d-sweet_potato": {"x": [0, 180]},
"omniobject3d-table_tennis_bat": {"x": [90, 270]},
"omniobject3d-teapot": {"x": [90]},
"omniobject3d-timer": {"y": [270]},
"omniobject3d-tissue": {"x": [0, 90, 180, 270]},
"omniobject3d-tooth_brush": {"y": [0, 90, 180, 270]},
"omniobject3d-tooth_paste": {"y": [0, 90, 180, 270]},
"omniobject3d-toy_animals": {"x": [90]},
"omniobject3d-toy_boat": {"x": [90]},
"omniobject3d-toy_bus": {"x": [90]},
"omniobject3d-toy_car": {"x": [90]},
"omniobject3d-toy_plane": {"x": [90]},
"omniobject3d-toy_plant": {"x": [90]},
"omniobject3d-toy_train": {"x": [90]},
"omniobject3d-toy_truck": {"x": [90]},
"omniobject3d-umbrella": {"x": [0, 180]},
"omniobject3d-watch": {"x": [0, 180]},
"phocal-bottle": {"x": [0, 90, 180]},
"phocal-cup": {"x": [90]},
"phocal-mug": {"x": [90]},
"phocal-red_wine_glass": {"x": [90]},
"phocal-remote_control": {"y": [270]},
"phocal-shampoo": {"x": [0, 90, 180]},
"phocal-spoon": {"y": [0, 90, 180, 270]},
"phocal-teapot": {"x": [90]},
"real-camera": {"x": [0, 90, 180, 270]},
# Supp
"omniobject3d-asparagus": {"x": [0]},
"omniobject3d-bamboo_shoots": {"x": [0]},
"omniobject3d-battery": {"x": [0, 90]},
"omniobject3d-cake": {"x": [0, 90]},
"omniobject3d-candle": {"x": [0, 90]},
"omniobject3d-chicken_leg": {"x": [0]},
"omniobject3d-conch": {"x": [0]},
"omniobject3d-donut": {"x": [90]},
"omniobject3d-dumpling": {"x": [90]},
"omniobject3d-egg": {"x": [0]},
"omniobject3d-eraser": {"x": [90]},
"omniobject3d-facial_cream": {"x": [90]},
"omniobject3d-garlic": {"x": [90]},
"omniobject3d-hand_cream": {"x": [0]},
# "discarded": {"x": [0]},
# "google_scan-box": {"x": [0]},
# "omniobject3d-ball": {"x": [0]},
# "omniobject3d-box": {"x": [0]},
"omniobject3d-lemon": {"x": [0]},
"omniobject3d-lipstick": {"x": [0]},
"omniobject3d-lotus_root": {"x": [0]},
"omniobject3d-mango": {"x": [0]},
"omniobject3d-mangosteen": {"x": [90]},
"omniobject3d-onion": {"x": [90]},
"omniobject3d-orange": {"x": [90]},
"omniobject3d-pastry": {"x": [90]},
"omniobject3d-peach": {"x": [0]},
"omniobject3d-pear": {"x": [0]},
"omniobject3d-pitaya": {"x": [90]},
"omniobject3d-pomegranate": {"x": [90]},
"omniobject3d-rubik_cube": {"x": [0]},
"omniobject3d-rubik_cube-old": {"x": [0]},
"omniobject3d-shrimp": {"x": [0]},
"omniobject3d-tape_measure": {"x": [0]},
"omniobject3d-tomato": {"x": [90]},
"omniobject3d-toy_motorcycle": {"x": [0]},
"omniobject3d-waffle": {"x": [90]},
# "omniobject3d-whistle": {"x": [0]},
"phocal-can": {"x": [0, 90]},
# Basic
"book": {"y": [0, 90, 180, 270]},
"plate": {"x": [90], "y": [0], "z": [0]},
"basket": {"x": [90]},
"pnp_basket": {"x": [90], "y": [0], "z": [90]},
"dirt": {"x": [90]},
# Place
# "basket": {"x": [90]},
"bowl": {"x": [90]},
"dish": {"x": [90]},
"flower_pot": {"x": [90]},
"pan": {"x": [90]},
"box": {"x": [90]},
"microwaveoven": {"x": [90]},
"drawing": {"x": [90]},
"projector": {"x": [90]},
"pad": {"x": [90]},
# Long horizon
"bolt": {"x": [90]},
}
HEARTH_KITCHENS = {
"001": {
"name": "scene",
"path": "home_scenes/rooms/kitchen/MVUHLWYKTKJ5EAABAAAAAAY8_usd_kitchen_0.usd",
"target_class": "GeometryObject",
"scale": [0.015, 0.015, 0.015],
"translation": [-9.8, -3.9, -0.3],
"euler": [0, 0, 180],
},
"002": {
"name": "scene",
"path": "home_scenes/rooms/kitchen/MVUHLWYKTKJ5EAABAAAAABA8_usd_kitchen_0.usd",
"target_class": "GeometryObject",
"scale": [0.013, 0.013, 0.013],
"translation": [-8, 1.55, -0.163],
"euler": [0, 0, -90],
},
"003": {
"name": "scene",
"path": "home_scenes/rooms/kitchen/MVUHLWYKTKJ5EAABAAAAABI8_usd_kitchen_0.usd",
"target_class": "GeometryObject",
"scale": [0.013, 0.013, 0.013],
"translation": [5.5, -6.2, -0.133],
"euler": [0, 0, 90],
},
"004": {
"name": "scene",
"path": "home_scenes/rooms/kitchen/MVUHLWYKTKJ5EAABAAAAABQ8_usd_kitchen_0.usd",
"target_class": "GeometryObject",
"scale": [0.013, 0.013, 0.013],
"translation": [-7.15, -7.2, -0.133],
"euler": [0, 0, 180],
},
"005": {
"name": "scene",
"path": "home_scenes/rooms/kitchen/MVUHLWYKTKJ5EAABAAAAABY8_usd_kitchen_0.usd",
"target_class": "GeometryObject",
"scale": [0.013, 0.013, 0.013],
"translation": [7.2, -2.6, -0.1],
"euler": [0, 0, 90],
},
"006": {
"name": "scene",
"path": "home_scenes/rooms/kitchen/MVUHLWYKTKJ5EAABAAAAACA8_usd_kitchen_0.usd",
"target_class": "GeometryObject",
"scale": [0.015, 0.015, 0.015],
"translation": [6.27, -8.4, -0.33],
"euler": [0.0, 0.0, 90.0],
},
"007": {
"name": "scene",
"path": "home_scenes/rooms/kitchen/MVUHLWYKTKJ5EAABAAAAACI8_usd_kitchen_0.usd",
"target_class": "GeometryObject",
"scale": [0.015, 0.015, 0.015],
"translation": [7.25, -5.1, -0.3],
"euler": [0, 0, 180],
},
"008": {
"name": "scene",
"path": "home_scenes/rooms/kitchen/MVUHLWYKTKJ5EAABAAAAACQ8_usd_kitchen_0.usd",
"target_class": "GeometryObject",
"scale": [0.015, 0.015, 0.015],
"translation": [5.84, 0.67, -0.3],
"euler": [0, 0, 90],
},
"009": {
"name": "scene",
"path": "home_scenes/rooms/kitchen/MVUHLWYKTKJ5EAABAAAAACY8_usd_kitchen_0.usd",
"target_class": "GeometryObject",
"scale": [0.015, 0.015, 0.015],
"translation": [-7.95, -3, -0.37],
"euler": [0, 0, 0],
},
"010": {
"name": "scene",
"path": "home_scenes/rooms/kitchen/MVUHLWYKTKJ5EAABAAAAADA8_usd_kitchen_0.usd",
"target_class": "GeometryObject",
"scale": [0.015, 0.015, 0.015],
"translation": [-5.89, -3.58, -0.3],
"euler": [0, 0, 180],
},
}
CATEGORIES_SCALE_SUGGESTED = {
# Default per-category scale for place tasks (containers / targets)
"basket": [0.001, 0.001, 0.001],
"bowl": [0.002, 0.002, 0.002],
"dish": [0.001, 0.001, 0.001],
"flower_pot": [0.001, 0.001, 0.001],
"pan": [0.001, 0.001, 0.001],
# "box": [0.0007, 0.0007, 0.0007],
"box": [0.001, 0.001, 0.001],
"microwaveoven": [0.0005, 0.0005, 0.0005],
"drawing": [0.001, 0.001, 0.001],
"projector": [0.001, 0.001, 0.001],
"pad": [0.0005, 0.0005, 0.0005],
}
OBJECT_SCALE_SUGGESTED = {
# Per-asset scale overrides for place tasks (special cases)
"google_scan-picnic_basket_0908": [0.0012, 0.0012, 0.0012],
"omniobject3d-picnic_basket_006": [0.0012, 0.0012, 0.0012],
"google_scan-bowl_0070": [0.001, 0.001, 0.001],
"google_scan-bowl_0071": [0.0008, 0.0008, 0.0008],
"google_scan-bowl_0495": [0.0008, 0.0008, 0.0008],
"google_scan-bowl_0498": [0.0015, 0.0015, 0.0015],
"google_scan-bowl_0539": [0.0015, 0.0015, 0.0015],
"google_scan-bowl_0746": [0.001, 0.001, 0.001],
"google_scan-bowl_0752": [0.0008, 0.0008, 0.0008],
"google_scan-bowl_0839": [0.0015, 0.0015, 0.0015],
"google_scan-bowl_0891": [0.0015, 0.0015, 0.0015],
"google_scan-dish_0085": [0.0008, 0.0008, 0.0008],
"google_scan-dish_0096": [0.002, 0.002, 0.002],
"google_scan-dish_0099": [0.002, 0.002, 0.002],
"google_scan-dish_0510": [0.0015, 0.0015, 0.0015],
"omniobject3d-flower_pot_001": [0.001, 0.001, 0.001],
"omniobject3d-flower_pot_002": [0.001, 0.001, 0.001],
"omniobject3d-flower_pot_003": [0.002, 0.002, 0.002],
"omniobject3d-flower_pot_007": [0.002, 0.002, 0.002],
"omniobject3d-pan_002": [0.0015, 0.0015, 0.0015],
"omniobject3d-pan_004": [0.002, 0.002, 0.002],
"omniobject3d-picnic_basket_003": [0.0009, 0.0009, 0.0009],
"omniobject3d-picnic_basket_004": [0.0009, 0.0009, 0.0009],
"omniobject3d-picnic_basket_011": [0.0009, 0.0009, 0.0009],
"omniobject3d-box_003": [0.0011, 0.0011, 0.0011],
"omniobject3d-box_022": [0.0006, 0.0006, 0.0006],
"omniobject3d-box_024": [0.0021, 0.0021, 0.0021],
"omniobject3d-box_040": [0.0011, 0.0011, 0.0011],
"omniobject3d-box_043": [0.0016, 0.0016, 0.0016],
"omniobject3d-box_044": [0.0021, 0.0021, 0.0021],
"omniobject3d-drawing_001": [0.0003, 0.0003, 0.0003],
"omniobject3d-drawing_017": [0.0004, 0.0004, 0.0004],
"omniobject3d-projector_008": [0.0005, 0.0005, 0.0005],
"omniobject3d-pad_022": [0.0003, 0.0003, 0.0003],
"omniobject3d-pad_010": [0.0007, 0.0007, 0.0007],
}
HANDOVER_RANGE = [
"omniobject3d-bamboo_shoots",
"omniobject3d-banana",
"omniobject3d-bottle",
"omniobject3d-carrot",
"omniobject3d-chili",
"omniobject3d-corn",
"omniobject3d-cucumber",
"omniobject3d-pen",
"omniobject3d-shampoo",
"omniobject3d-scissor",
"omniobject3d-sweet_potato",
"omniobject3d-tooth_brush",
"omniobject3d-tooth_paste",
"phocal-bottle",
"phocal-spoon",
]
CUROBO_BATCH_SIZE = 20