332 lines
13 KiB
Python
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
|