feat: add test tube pick task with custom assets and grasp annotations

- Add pick_test_tube task: USDC asset repackaging, grasp generation, task config
- Add tools: usdc_to_obj.py, repackage_test_tube.py, fix_test_tube_materials.py
- Add custom_task_guide.md: full Chinese documentation for creating custom tasks
- Add crawled InternDataEngine online docs (23 pages)
- Add grasp generation script (gen_tube_grasp.py) and pipeline config
This commit is contained in:
Tangger
2026-04-05 11:01:59 +08:00
parent 6314603676
commit 3d6b73753a
36 changed files with 18013 additions and 0 deletions

View File

@@ -0,0 +1,152 @@
tasks:
-
name: banana_base_task
asset_root: workflows/simbox/example_assets
task: BananaBaseTask
task_id: 0
offset: null
render: True
neglect_collision_names: ["table"]
# Arena configuration
arena_file: workflows/simbox/core/configs/arenas/example.yaml
env_map:
envmap_lib: envmap_lib
apply_randomization: False
intensity_range: [5000, 5000]
rotation_range: [0, 0]
robots:
-
name: "split_aloha"
robot_config_file: workflows/simbox/core/configs/robots/split_aloha.yaml
euler: [0.0, 0.0, 90.0]
ignore_substring: ["material", "table", "test_tube_rack"]
objects:
# Test tube - graspable rigid object
-
name: test_tube_right
path: task/pick_test_tube/test_tube/Aligned_obj.usd
target_class: RigidObject
dataset: custom
category: test_tube
prim_path_child: Aligned
translation: [0.0, 0.0, 0.0]
euler: [0.0, 0.0, 0.0]
scale: [1, 1, 1]
apply_randomization: False
orientation_mode: keep
# Test tube rack - static geometry
-
name: test_tube_rack
path: task/pick_test_tube/test_tube_rack/Test_Tube_Rack_AA_01.usdc
target_class: GeometryObject
dataset: custom
category: rack
prim_path_child: Test_Tube_Rack_AA_01
translation: [0.0, 0.0, 0.0]
euler: [0.0, 0.0, 0.0]
scale: [1, 1, 1]
apply_randomization: False
regions:
# Test tube on table (right side of robot)
-
object: test_tube_right
target: table
random_type: A_on_B_region_sampler
random_config:
pos_range: [
[0.05, -0.05, 0.0],
[0.15, 0.05, 0.0]
]
yaw_rotation: [0.0, 0.0]
# Test tube rack on table (left side)
-
object: test_tube_rack
target: table
random_type: A_on_B_region_sampler
random_config:
pos_range: [
[-0.25, -0.05, 0.0],
[-0.25, -0.05, 0.0]
]
yaw_rotation: [0.0, 0.0]
# Robot position
-
object: split_aloha
target: table
random_type: A_on_B_region_sampler
random_config:
pos_range: [
[0.0, -0.86, -0.75],
[0.0, -0.86, -0.75]
]
yaw_rotation: [0.0, 0.0]
cameras:
-
name: split_aloha_hand_left
translation: [0.0, 0.08, 0.05]
orientation: [0.0, 0.0, 0.965, 0.259]
camera_axes: usd
camera_file: workflows/simbox/core/configs/cameras/astra.yaml
parent: "split_aloha/split_aloha_mid_360_with_piper/split_aloha_mid_360_with_piper/fl/link6"
apply_randomization: False
-
name: split_aloha_hand_right
translation: [0.0, 0.08, 0.04]
orientation: [0.0, 0.0, 0.972, 0.233]
camera_axes: usd
camera_file: workflows/simbox/core/configs/cameras/astra.yaml
parent: "split_aloha/split_aloha_mid_360_with_piper/split_aloha_mid_360_with_piper/fr/link6"
apply_randomization: False
-
name: split_aloha_head
translation: [0.0, -0.00818, 0.1]
orientation: [0.658, 0.259, -0.282, -0.648]
camera_axes: usd
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
parent: "split_aloha/split_aloha_mid_360_with_piper/split_aloha_mid_360_with_piper/top_camera_link"
data:
task_dir: "pick_test_tube"
language_instruction: "Pick up the test tube from the table."
detailed_language_instruction: "Use the right arm to grasp the test tube from the table and lift it up."
collect_info: "Test tube picking task with Split Aloha"
version: "v1.0"
update: True
max_episode_length: 2000
skills:
-
split_aloha:
-
right:
# Pick the test tube with right arm
-
name: pick
objects: [test_tube_right]
npy_name: Aligned_grasp_sparse.npy
filter_y_dir: ["forward", 60]
filter_z_dir: ["downward", 150]
pre_grasp_offset: 0.05
gripper_change_steps: 10
t_eps: 0.025
o_eps: 1
process_valid: True
lift_th: 0.02
post_grasp_offset_min: 0.10
post_grasp_offset_max: 0.15
# Return to home
-
name: heuristic__skill
mode: home
gripper_state: 1.0

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
/home/tangger/LYT/maic_usd_assets_moudle/laboratory_equipment/Test_Tube_Rack/Test_Tube_Rack_AA_01.usdc