init commit
This commit is contained in:
73
workflows/simbox/core/configs/arenas/azure_loong_arena.yaml
Normal file
73
workflows/simbox/core/configs/arenas/azure_loong_arena.yaml
Normal file
@@ -0,0 +1,73 @@
|
||||
name: azure_loong_arena
|
||||
fixtures:
|
||||
-
|
||||
name: table
|
||||
path: table0/instance.usd
|
||||
target_class: GeometryObject
|
||||
translation: [0.0, 0.0, 0.705]
|
||||
# euler: [0.0, 0.0, 0.0]
|
||||
# quaternion: [1.0, 0.0, 0.0, 0.0]
|
||||
scale: [0.0015, 0.0015, 0.001]
|
||||
texture:
|
||||
texture_lib: "val2017"
|
||||
apply_randomization: False
|
||||
texture_id: 0
|
||||
texture_scale: [0.001, 0.001]
|
||||
-
|
||||
name: floor
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 5.0]
|
||||
translation: [0, 0, 0]
|
||||
texture:
|
||||
texture_lib: "floor_textures"
|
||||
apply_randomization: False
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
# -
|
||||
# name: background0
|
||||
# target_class: PlaneObject
|
||||
# size: [3.0, 5.0]
|
||||
# translation: [-2, 0, 1]
|
||||
# euler: [0.0, 90.0, 0.0]
|
||||
# texture:
|
||||
# texture_lib: "background_textures"
|
||||
# apply_randomization: False
|
||||
# texture_id: 1
|
||||
# texture_scale: [1.0, 1.0]
|
||||
# -
|
||||
# name: background1
|
||||
# target_class: PlaneObject
|
||||
# size: [3.0, 5.0]
|
||||
# translation: [2, 0, 1]
|
||||
# euler: [0.0, 90.0, 0.0]
|
||||
# texture:
|
||||
# texture_lib: "background_textures"
|
||||
# apply_randomization: False
|
||||
# texture_id: 1
|
||||
# texture_scale: [1.0, 1.0]
|
||||
# -
|
||||
# name: background2
|
||||
# target_class: PlaneObject
|
||||
# size: [5.0, 3.0]
|
||||
# translation: [0, -2, 1]
|
||||
# euler: [90.0, 0.0, 0.0]
|
||||
# texture:
|
||||
# texture_lib: "background_textures"
|
||||
# apply_randomization: False
|
||||
# texture_id: 1
|
||||
# texture_scale: [1.0, 1.0]
|
||||
# -
|
||||
# name: background3
|
||||
# target_class: PlaneObject
|
||||
# size: [5.0, 3.0]
|
||||
# translation: [0, 2, 1]
|
||||
# euler: [90.0, 0.0, 0.0]
|
||||
# texture:
|
||||
# texture_lib: "background_textures"
|
||||
# apply_randomization: False
|
||||
# texture_id: 1
|
||||
# texture_scale: [1.0, 1.0]
|
||||
|
||||
|
||||
|
||||
# affordance region should be defined here
|
||||
73
workflows/simbox/core/configs/arenas/base_arena.yaml
Normal file
73
workflows/simbox/core/configs/arenas/base_arena.yaml
Normal file
@@ -0,0 +1,73 @@
|
||||
name: base_arena
|
||||
fixtures:
|
||||
-
|
||||
name: table
|
||||
path: table0/instance.usd
|
||||
target_class: GeometryObject
|
||||
translation: [0.0, 0.0, 0.35570302]
|
||||
# euler: [0.0, 0.0, 0.0]
|
||||
# quaternion: [1.0, 0.0, 0.0, 0.0]
|
||||
scale: [0.0015, 0.0015, 0.001]
|
||||
texture:
|
||||
texture_lib: "table_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 0
|
||||
texture_scale: [0.001, 0.001]
|
||||
-
|
||||
name: floor
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 5.0]
|
||||
translation: [0, 0, 0]
|
||||
texture:
|
||||
texture_lib: "floor_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background0
|
||||
target_class: PlaneObject
|
||||
size: [3.0, 5.0]
|
||||
translation: [-2, 0, 1]
|
||||
euler: [0.0, 90.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background1
|
||||
target_class: PlaneObject
|
||||
size: [3.0, 5.0]
|
||||
translation: [2, 0, 1]
|
||||
euler: [0.0, 90.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background2
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 3.0]
|
||||
translation: [0, -2, 1]
|
||||
euler: [90.0, 0.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background3
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 3.0]
|
||||
translation: [0, 2, 1]
|
||||
euler: [90.0, 0.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
|
||||
|
||||
|
||||
# affordance region should be defined here
|
||||
74
workflows/simbox/core/configs/arenas/clean_dark_arena.yaml
Normal file
74
workflows/simbox/core/configs/arenas/clean_dark_arena.yaml
Normal file
@@ -0,0 +1,74 @@
|
||||
name: clean_dark_arena
|
||||
fixtures:
|
||||
-
|
||||
name: table
|
||||
path: table0/instance.usd
|
||||
target_class: GeometryObject
|
||||
translation: [0.0, 0.0, 0.375]
|
||||
# euler: [0.0, 0.0, 0.0]
|
||||
# quaternion: [1.0, 0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001053, 0.001056]
|
||||
# scale: [0.0007, 0.001053, 0.001056]
|
||||
texture:
|
||||
texture_lib: "dark_table_textures" # "val2017/image"
|
||||
apply_randomization: True
|
||||
texture_id: 0
|
||||
texture_scale: [0.001, 0.001]
|
||||
-
|
||||
name: floor
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 5.0]
|
||||
translation: [0, 0, 0]
|
||||
texture:
|
||||
texture_lib: "floor_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background0
|
||||
target_class: PlaneObject
|
||||
size: [3.0, 5.0]
|
||||
translation: [-2, 0, 1]
|
||||
euler: [0.0, 90.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background1
|
||||
target_class: PlaneObject
|
||||
size: [3.0, 5.0]
|
||||
translation: [2, 0, 1]
|
||||
euler: [0.0, 90.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background2
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 3.0]
|
||||
translation: [0, -2, 1]
|
||||
euler: [90.0, 0.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background3
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 3.0]
|
||||
translation: [0, 2, 1]
|
||||
euler: [90.0, 0.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
|
||||
|
||||
|
||||
# affordance region should be defined here
|
||||
74
workflows/simbox/core/configs/arenas/clean_light_arena.yaml
Normal file
74
workflows/simbox/core/configs/arenas/clean_light_arena.yaml
Normal file
@@ -0,0 +1,74 @@
|
||||
name: clean_light_arena
|
||||
fixtures:
|
||||
-
|
||||
name: table
|
||||
path: table0/instance.usd
|
||||
target_class: GeometryObject
|
||||
translation: [0.0, 0.0, 0.375]
|
||||
# euler: [0.0, 0.0, 0.0]
|
||||
# quaternion: [1.0, 0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001053, 0.001056]
|
||||
# scale: [0.0007, 0.001053, 0.001056]
|
||||
texture:
|
||||
texture_lib: "light_table_textures" # "val2017/image"
|
||||
apply_randomization: True
|
||||
texture_id: 0
|
||||
texture_scale: [0.001, 0.001]
|
||||
-
|
||||
name: floor
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 5.0]
|
||||
translation: [0, 0, 0]
|
||||
texture:
|
||||
texture_lib: "floor_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background0
|
||||
target_class: PlaneObject
|
||||
size: [3.0, 5.0]
|
||||
translation: [-2, 0, 1]
|
||||
euler: [0.0, 90.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background1
|
||||
target_class: PlaneObject
|
||||
size: [3.0, 5.0]
|
||||
translation: [2, 0, 1]
|
||||
euler: [0.0, 90.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background2
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 3.0]
|
||||
translation: [0, -2, 1]
|
||||
euler: [90.0, 0.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background3
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 3.0]
|
||||
translation: [0, 2, 1]
|
||||
euler: [90.0, 0.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
|
||||
|
||||
|
||||
# affordance region should be defined here
|
||||
72
workflows/simbox/core/configs/arenas/collaborate_arena.yaml
Normal file
72
workflows/simbox/core/configs/arenas/collaborate_arena.yaml
Normal file
@@ -0,0 +1,72 @@
|
||||
name: collaborate_arena
|
||||
fixtures:
|
||||
-
|
||||
name: table
|
||||
path: table0/instance.usd
|
||||
target_class: GeometryObject
|
||||
translation: [0.0, 0.0, 0.375]
|
||||
# euler: [0.0, 0.0, 0.0]
|
||||
# quaternion: [1.0, 0.0, 0.0, 0.0]
|
||||
# scale: [0.000525, 0.001053, 0.001056]
|
||||
scale: [0.001, 0.001002, 0.001056]
|
||||
texture:
|
||||
texture_lib: "table_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 0
|
||||
texture_scale: [0.001, 0.001]
|
||||
-
|
||||
name: floor
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 5.0]
|
||||
translation: [0, 0, 0]
|
||||
texture:
|
||||
texture_lib: "floor_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background0
|
||||
target_class: PlaneObject
|
||||
size: [3.0, 5.0]
|
||||
translation: [-2, 0, 1]
|
||||
euler: [0.0, 90.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background1
|
||||
target_class: PlaneObject
|
||||
size: [3.0, 5.0]
|
||||
translation: [2, 0, 1]
|
||||
euler: [0.0, 90.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background2
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 3.0]
|
||||
translation: [0, -2, 1]
|
||||
euler: [90.0, 0.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background3
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 3.0]
|
||||
translation: [0, 2, 1]
|
||||
euler: [90.0, 0.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
|
||||
# affordance region should be defined here
|
||||
71
workflows/simbox/core/configs/arenas/conveyor_arena.yaml
Normal file
71
workflows/simbox/core/configs/arenas/conveyor_arena.yaml
Normal file
@@ -0,0 +1,71 @@
|
||||
name: conveyor_arena
|
||||
fixtures:
|
||||
-
|
||||
name: conveyor
|
||||
path: long_horizon/conveyor/World.usd
|
||||
target_class: ConveyorObject
|
||||
translation: [-1.63, 0.0, 0.7]
|
||||
quaternion: [1.0, 0.0, 0.0, 0.0]
|
||||
scale: [1, 1, 1]
|
||||
linear_velocity: [0.05, 0, 0.0]
|
||||
linear_track_list: ["track_03", "track_07"]
|
||||
angular_velocity: [0.0, 0.0, 20]
|
||||
angular_track_list: ["track_01", "track_02", "track_05", "track_06"]
|
||||
-
|
||||
name: floor
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 5.0]
|
||||
translation: [0, 0, 0]
|
||||
texture:
|
||||
texture_lib: "floor_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background0
|
||||
target_class: PlaneObject
|
||||
size: [3.0, 5.0]
|
||||
translation: [-2, 0, 1]
|
||||
euler: [0.0, 90.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background1
|
||||
target_class: PlaneObject
|
||||
size: [3.0, 5.0]
|
||||
translation: [2, 0, 1]
|
||||
euler: [0.0, 90.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background2
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 3.0]
|
||||
translation: [0, -2, 1]
|
||||
euler: [90.0, 0.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background3
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 3.0]
|
||||
translation: [0, 2, 1]
|
||||
euler: [90.0, 0.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
|
||||
|
||||
|
||||
# affordance region should be defined here
|
||||
37
workflows/simbox/core/configs/arenas/example.yaml
Normal file
37
workflows/simbox/core/configs/arenas/example.yaml
Normal file
@@ -0,0 +1,37 @@
|
||||
name: example
|
||||
fixtures:
|
||||
-
|
||||
name: table
|
||||
path: table0/instance.usd
|
||||
target_class: GeometryObject
|
||||
translation: [0.0, 0.0, 0.375]
|
||||
scale: [0.000525, 0.001053, 0.001056]
|
||||
# -
|
||||
# name: floor
|
||||
# target_class: PlaneObject
|
||||
# size: [5.0, 5.0]
|
||||
# translation: [0, 0, 0]
|
||||
# -
|
||||
# name: background0
|
||||
# target_class: PlaneObject
|
||||
# size: [3.0, 5.0]
|
||||
# translation: [-2, 0, 1]
|
||||
# euler: [0.0, 90.0, 0.0]
|
||||
# -
|
||||
# name: background1
|
||||
# target_class: PlaneObject
|
||||
# size: [3.0, 5.0]
|
||||
# translation: [2, 0, 1]
|
||||
# euler: [0.0, 90.0, 0.0]
|
||||
# -
|
||||
# name: background2
|
||||
# target_class: PlaneObject
|
||||
# size: [5.0, 3.0]
|
||||
# translation: [0, -2, 1]
|
||||
# euler: [90.0, 0.0, 0.0]
|
||||
# -
|
||||
# name: background3
|
||||
# target_class: PlaneObject
|
||||
# size: [5.0, 3.0]
|
||||
# translation: [0, 2, 1]
|
||||
# euler: [90.0, 0.0, 0.0]
|
||||
74
workflows/simbox/core/configs/arenas/floor_arena.yaml
Normal file
74
workflows/simbox/core/configs/arenas/floor_arena.yaml
Normal file
@@ -0,0 +1,74 @@
|
||||
name: floor_arena
|
||||
fixtures:
|
||||
# -
|
||||
# name: table
|
||||
# path: table0/instance.usd
|
||||
# target_class: GeometryObject
|
||||
# translation: [0.0, 0.0, 0.375]
|
||||
# # euler: [0.0, 0.0, 0.0]
|
||||
# # quaternion: [1.0, 0.0, 0.0, 0.0]
|
||||
# scale: [0.001, 0.001053, 0.001056]
|
||||
# # scale: [0.0007, 0.001053, 0.001056]
|
||||
# texture:
|
||||
# texture_lib: "table_textures"
|
||||
# apply_randomization: True
|
||||
# texture_id: 0
|
||||
# texture_scale: [0.001, 0.001]
|
||||
-
|
||||
name: floor
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 5.0]
|
||||
translation: [0, 0, 0]
|
||||
texture:
|
||||
texture_lib: "floor_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background0
|
||||
target_class: PlaneObject
|
||||
size: [3.0, 5.0]
|
||||
translation: [-2, 0, 1]
|
||||
euler: [0.0, 90.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background1
|
||||
target_class: PlaneObject
|
||||
size: [3.0, 5.0]
|
||||
translation: [2, 0, 1]
|
||||
euler: [0.0, 90.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background2
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 3.0]
|
||||
translation: [0, -2, 1]
|
||||
euler: [90.0, 0.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background3
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 3.0]
|
||||
translation: [0, 2, 1]
|
||||
euler: [90.0, 0.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
|
||||
|
||||
|
||||
# affordance region should be defined here
|
||||
72
workflows/simbox/core/configs/arenas/genie_pick_arena.yaml
Normal file
72
workflows/simbox/core/configs/arenas/genie_pick_arena.yaml
Normal file
@@ -0,0 +1,72 @@
|
||||
name: genie_pick_randomized_arena
|
||||
fixtures:
|
||||
-
|
||||
name: table
|
||||
path: table0/instance.usd
|
||||
target_class: GeometryObject
|
||||
translation: [0.0, 0.0, 0.375]
|
||||
# euler: [0.0, 0.0, 0.0]
|
||||
# quaternion: [1.0, 0.0, 0.0, 0.0]
|
||||
# scale: [0.001, 0.001053, 0.001056]
|
||||
scale: [0.001, 0.0010029, 0.001056]
|
||||
texture:
|
||||
texture_lib: "table_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 0
|
||||
texture_scale: [0.001, 0.001]
|
||||
-
|
||||
name: floor
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 5.0]
|
||||
translation: [0, 0, 0]
|
||||
texture:
|
||||
texture_lib: "floor_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background0
|
||||
target_class: PlaneObject
|
||||
size: [3.0, 5.0]
|
||||
translation: [-2, 0, 1]
|
||||
euler: [0.0, 90.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background1
|
||||
target_class: PlaneObject
|
||||
size: [3.0, 5.0]
|
||||
translation: [2, 0, 1]
|
||||
euler: [0.0, 90.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background2
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 3.0]
|
||||
translation: [0, -2, 1]
|
||||
euler: [90.0, 0.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background3
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 3.0]
|
||||
translation: [0, 2, 1]
|
||||
euler: [90.0, 0.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
|
||||
# affordance region should be defined here
|
||||
72
workflows/simbox/core/configs/arenas/mid_table_arena.yaml
Normal file
72
workflows/simbox/core/configs/arenas/mid_table_arena.yaml
Normal file
@@ -0,0 +1,72 @@
|
||||
name: mid_table_arena
|
||||
fixtures:
|
||||
-
|
||||
name: table
|
||||
path: table0/instance.usd
|
||||
target_class: GeometryObject
|
||||
translation: [0.0, 0.0, 0.375]
|
||||
# euler: [0.0, 0.0, 0.0]
|
||||
# quaternion: [1.0, 0.0, 0.0, 0.0]
|
||||
scale: [0.000525, 0.001053, 0.001056]
|
||||
# scale: [0.0007, 0.001053, 0.001056]
|
||||
texture:
|
||||
texture_lib: "table_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 0
|
||||
texture_scale: [0.001, 0.001]
|
||||
-
|
||||
name: floor
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 5.0]
|
||||
translation: [0, 0, 0]
|
||||
texture:
|
||||
texture_lib: "floor_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background0
|
||||
target_class: PlaneObject
|
||||
size: [3.0, 5.0]
|
||||
translation: [-2, 0, 1]
|
||||
euler: [0.0, 90.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background1
|
||||
target_class: PlaneObject
|
||||
size: [3.0, 5.0]
|
||||
translation: [2, 0, 1]
|
||||
euler: [0.0, 90.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background2
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 3.0]
|
||||
translation: [0, -2, 1]
|
||||
euler: [90.0, 0.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background3
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 3.0]
|
||||
translation: [0, 2, 1]
|
||||
euler: [90.0, 0.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
|
||||
# affordance region should be defined here
|
||||
75
workflows/simbox/core/configs/arenas/pick_clean_arena.yaml
Normal file
75
workflows/simbox/core/configs/arenas/pick_clean_arena.yaml
Normal file
@@ -0,0 +1,75 @@
|
||||
name: pick_clean_arena
|
||||
fixtures:
|
||||
-
|
||||
name: table
|
||||
path: table0/instance.usd
|
||||
target_class: GeometryObject
|
||||
translation: [0.0, 0.0, 0.375]
|
||||
# euler: [0.0, 0.0, 0.0]
|
||||
# quaternion: [1.0, 0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001053, 0.001056]
|
||||
# scale: [0.0007, 0.001053, 0.001056]
|
||||
# texture:
|
||||
# texture_lib: "table_textures"
|
||||
# apply_randomization: True
|
||||
# texture_id: 0
|
||||
# texture_scale: [0.001, 0.001]
|
||||
# dataset: oo3d
|
||||
# category: "plane"
|
||||
# prim_path_child: Instance
|
||||
-
|
||||
name: floor
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 5.0]
|
||||
translation: [0, 0, 0]
|
||||
texture:
|
||||
texture_lib: "floor_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background0
|
||||
target_class: PlaneObject
|
||||
size: [3.0, 5.0]
|
||||
translation: [-2, 0, 1]
|
||||
euler: [0.0, 90.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background1
|
||||
target_class: PlaneObject
|
||||
size: [3.0, 5.0]
|
||||
translation: [2, 0, 1]
|
||||
euler: [0.0, 90.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background2
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 3.0]
|
||||
translation: [0, -2, 1]
|
||||
euler: [90.0, 0.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background3
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 3.0]
|
||||
translation: [0, 2, 1]
|
||||
euler: [90.0, 0.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
|
||||
# affordance region should be defined here
|
||||
@@ -0,0 +1,72 @@
|
||||
name: pick_randomized_arena
|
||||
fixtures:
|
||||
-
|
||||
name: table
|
||||
path: table0/instance.usd
|
||||
target_class: GeometryObject
|
||||
translation: [0.0, 0.0, 0.375]
|
||||
# euler: [0.0, 0.0, 0.0]
|
||||
# quaternion: [1.0, 0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001053, 0.001056]
|
||||
# scale: [0.0007, 0.001053, 0.001056]
|
||||
texture:
|
||||
texture_lib: "table_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 0
|
||||
texture_scale: [0.001, 0.001]
|
||||
-
|
||||
name: floor
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 5.0]
|
||||
translation: [0, 0, 0]
|
||||
texture:
|
||||
texture_lib: "floor_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background0
|
||||
target_class: PlaneObject
|
||||
size: [3.0, 5.0]
|
||||
translation: [-2, 0, 1]
|
||||
euler: [0.0, 90.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background1
|
||||
target_class: PlaneObject
|
||||
size: [3.0, 5.0]
|
||||
translation: [2, 0, 1]
|
||||
euler: [0.0, 90.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background2
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 3.0]
|
||||
translation: [0, -2, 1]
|
||||
euler: [90.0, 0.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background3
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 3.0]
|
||||
translation: [0, 2, 1]
|
||||
euler: [90.0, 0.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
|
||||
# affordance region should be defined here
|
||||
22
workflows/simbox/core/configs/arenas/scene_arena.yaml
Normal file
22
workflows/simbox/core/configs/arenas/scene_arena.yaml
Normal file
@@ -0,0 +1,22 @@
|
||||
name: scene_arena
|
||||
involved_scenes: dining_room_scene_info
|
||||
update_freq: 5000
|
||||
fixtures:
|
||||
# 001
|
||||
-
|
||||
name: table
|
||||
path: home_scenes/tables/dinning_room/model_8617414f380062817ad173f2ad2abc28_0.usd
|
||||
target_class: GeometryObject
|
||||
translation: [0, 0, 0]
|
||||
scale: [0.01, 0.01, 0.01]
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
apply_randomization: True
|
||||
-
|
||||
name: scene
|
||||
path: home_scenes/rooms/dinning_room/MVUHLWYKTKJ5EAABAAAAAAY8_usd_dinning_room_0.usd
|
||||
target_class: GeometryObject
|
||||
scale: [0.01, 0.01, 0.01]
|
||||
translation: [2.449, 1.016, -0.455]
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
apply_randomization: True
|
||||
|
||||
72
workflows/simbox/core/configs/arenas/sweep_arena.yaml
Normal file
72
workflows/simbox/core/configs/arenas/sweep_arena.yaml
Normal file
@@ -0,0 +1,72 @@
|
||||
name: sweep_arena
|
||||
fixtures:
|
||||
-
|
||||
name: table
|
||||
path: table0/instance.usd
|
||||
target_class: GeometryObject
|
||||
translation: [0.0, 0.0, 0.375]
|
||||
# euler: [0.0, 0.0, 0.0]
|
||||
# quaternion: [1.0, 0.0, 0.0, 0.0]
|
||||
scale: [0.0005, 0.001053, 0.001056]
|
||||
# scale: [0.001, 0.001053, 0.001056]
|
||||
texture:
|
||||
texture_lib: "table_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 0
|
||||
texture_scale: [0.001, 0.001]
|
||||
-
|
||||
name: floor
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 5.0]
|
||||
translation: [0, 0, 0]
|
||||
texture:
|
||||
texture_lib: "floor_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background0
|
||||
target_class: PlaneObject
|
||||
size: [3.0, 5.0]
|
||||
translation: [-2, 0, 1]
|
||||
euler: [0.0, 90.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background1
|
||||
target_class: PlaneObject
|
||||
size: [3.0, 5.0]
|
||||
translation: [2, 0, 1]
|
||||
euler: [0.0, 90.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background2
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 3.0]
|
||||
translation: [0, -2, 1]
|
||||
euler: [90.0, 0.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background3
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 3.0]
|
||||
translation: [0, 2, 1]
|
||||
euler: [90.0, 0.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
|
||||
# affordance region should be defined here
|
||||
75
workflows/simbox/core/configs/arenas/table_clean_arena.yaml
Normal file
75
workflows/simbox/core/configs/arenas/table_clean_arena.yaml
Normal file
@@ -0,0 +1,75 @@
|
||||
name: pick_clean_arena
|
||||
fixtures:
|
||||
-
|
||||
name: table
|
||||
path: table0/instance.usd
|
||||
target_class: GeometryObject
|
||||
translation: [0.0, 0.0, 0.375]
|
||||
# euler: [0.0, 0.0, 0.0]
|
||||
# quaternion: [1.0, 0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001053, 0.001056]
|
||||
# scale: [0.0007, 0.001053, 0.001056]
|
||||
# texture:
|
||||
# texture_lib: "table_textures"
|
||||
# apply_randomization: True
|
||||
# texture_id: 0
|
||||
# texture_scale: [0.001, 0.001]
|
||||
# dataset: oo3d
|
||||
# category: "plane"
|
||||
# prim_path_child: Instance
|
||||
# -
|
||||
# name: floor
|
||||
# target_class: PlaneObject
|
||||
# size: [5.0, 5.0]
|
||||
# translation: [0, 0, 0]
|
||||
# texture:
|
||||
# texture_lib: "floor_textures"
|
||||
# apply_randomization: True
|
||||
# texture_id: 1
|
||||
# texture_scale: [1.0, 1.0]
|
||||
# -
|
||||
# name: background0
|
||||
# target_class: PlaneObject
|
||||
# size: [3.0, 5.0]
|
||||
# translation: [-2, 0, 1]
|
||||
# euler: [0.0, 90.0, 0.0]
|
||||
# texture:
|
||||
# texture_lib: "background_textures"
|
||||
# apply_randomization: True
|
||||
# texture_id: 1
|
||||
# texture_scale: [1.0, 1.0]
|
||||
# -
|
||||
# name: background1
|
||||
# target_class: PlaneObject
|
||||
# size: [3.0, 5.0]
|
||||
# translation: [2, 0, 1]
|
||||
# euler: [0.0, 90.0, 0.0]
|
||||
# texture:
|
||||
# texture_lib: "background_textures"
|
||||
# apply_randomization: True
|
||||
# texture_id: 1
|
||||
# texture_scale: [1.0, 1.0]
|
||||
# -
|
||||
# name: background2
|
||||
# target_class: PlaneObject
|
||||
# size: [5.0, 3.0]
|
||||
# translation: [0, -2, 1]
|
||||
# euler: [90.0, 0.0, 0.0]
|
||||
# texture:
|
||||
# texture_lib: "background_textures"
|
||||
# apply_randomization: True
|
||||
# texture_id: 1
|
||||
# texture_scale: [1.0, 1.0]
|
||||
# -
|
||||
# name: background3
|
||||
# target_class: PlaneObject
|
||||
# size: [5.0, 3.0]
|
||||
# translation: [0, 2, 1]
|
||||
# euler: [90.0, 0.0, 0.0]
|
||||
# texture:
|
||||
# texture_lib: "background_textures"
|
||||
# apply_randomization: True
|
||||
# texture_id: 1
|
||||
# texture_scale: [1.0, 1.0]
|
||||
|
||||
# affordance region should be defined here
|
||||
22
workflows/simbox/core/configs/arenas/waic_hearth_arena.yaml
Normal file
22
workflows/simbox/core/configs/arenas/waic_hearth_arena.yaml
Normal file
@@ -0,0 +1,22 @@
|
||||
name: waic_hearth_arena
|
||||
update_freq: 10
|
||||
fixtures:
|
||||
-
|
||||
name: floor
|
||||
target_class: PlaneObject
|
||||
size: [5.0, 5.0]
|
||||
translation: [0, 0, 0]
|
||||
visible: False
|
||||
texture:
|
||||
texture_lib: "floor_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
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, 0.0, 180.0]
|
||||
apply_randomization: True
|
||||
@@ -0,0 +1,67 @@
|
||||
name: warehouse_conveyor_arena
|
||||
fixtures:
|
||||
-
|
||||
name: conveyor
|
||||
path: long_horizon/conveyor/warehouse_conveyor.usdc
|
||||
target_class: ConveyorObject
|
||||
translation: [0, 0, 0.0]
|
||||
quaternion: [1.0, 0.0, 0.0, 0.0]
|
||||
scale: [1, 1, 1]
|
||||
linear_velocity: [-0.05, 0, 0.0]
|
||||
linear_track_list: ["track_01", "track_03"]
|
||||
angular_velocity: [0.0, 0.0, -10]
|
||||
angular_track_list: ["track_02", "track_04"]
|
||||
-
|
||||
name: floor
|
||||
target_class: PlaneObject
|
||||
size: [50.0, 50.0]
|
||||
translation: [0, 0, 0]
|
||||
texture:
|
||||
texture_lib: "floor_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background0
|
||||
target_class: PlaneObject
|
||||
size: [3.0, 10.0]
|
||||
translation: [-5, 0, 1]
|
||||
euler: [0.0, 90.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background1
|
||||
target_class: PlaneObject
|
||||
size: [3.0, 10.0]
|
||||
translation: [5, 0, 1]
|
||||
euler: [0.0, 90.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background2
|
||||
target_class: PlaneObject
|
||||
size: [10.0, 3.0]
|
||||
translation: [0, -5, 1]
|
||||
euler: [90.0, 0.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
-
|
||||
name: background3
|
||||
target_class: PlaneObject
|
||||
size: [10.0, 3.0]
|
||||
translation: [0, 3, 1]
|
||||
euler: [90.0, 0.0, 0.0]
|
||||
texture:
|
||||
texture_lib: "background_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 1
|
||||
texture_scale: [1.0, 1.0]
|
||||
8
workflows/simbox/core/configs/cameras/astra.yaml
Normal file
8
workflows/simbox/core/configs/cameras/astra.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
camera_type: "Astra"
|
||||
camera_params: [488.52, 488.52, 323.93, 219.15]
|
||||
resolution_width: 640
|
||||
resolution_height: 480
|
||||
frequency: 30
|
||||
pixel_size: 2.0
|
||||
f_number: 2.0
|
||||
focus_distance: 0.5
|
||||
@@ -0,0 +1,8 @@
|
||||
camera_type: "RealSense"
|
||||
camera_params: [433.89, 433.38, 322.79, 243.14]
|
||||
resolution_width: 640
|
||||
resolution_height: 480
|
||||
frequency: 30
|
||||
pixel_size: 3
|
||||
f_number: 2.0
|
||||
focus_distance: 0.6
|
||||
@@ -0,0 +1,8 @@
|
||||
camera_type: "RealSense"
|
||||
camera_params: [433.89, 433.38, 431.90, 241.39]
|
||||
resolution_width: 848
|
||||
resolution_height: 480
|
||||
frequency: 30
|
||||
pixel_size: 3
|
||||
f_number: 2.0
|
||||
focus_distance: 0.6
|
||||
@@ -0,0 +1,8 @@
|
||||
camera_type: "RealSense"
|
||||
camera_params: [605.451, 605.137, 320.778, 255.816]
|
||||
resolution_width: 640
|
||||
resolution_height: 480
|
||||
frequency: 30
|
||||
pixel_size: 3.0
|
||||
f_number: 2.0
|
||||
focus_distance: 0.5
|
||||
@@ -0,0 +1,8 @@
|
||||
camera_type: "RealSense"
|
||||
camera_params: [323.52, 323.17, 319.55, 182.18]
|
||||
resolution_width: 640
|
||||
resolution_height: 360
|
||||
frequency: 30
|
||||
pixel_size: 3.0
|
||||
f_number: 2.0
|
||||
focus_distance: 0.6
|
||||
@@ -0,0 +1,8 @@
|
||||
camera_type: "RealSense"
|
||||
camera_params: [381.49, 381.16, 318.08, 244.28]
|
||||
resolution_width: 640
|
||||
resolution_height: 480
|
||||
frequency: 30
|
||||
pixel_size: 3.0
|
||||
f_number: 2.0
|
||||
focus_distance: 0.6
|
||||
@@ -0,0 +1,8 @@
|
||||
camera_type: "RealSense"
|
||||
camera_params: [647.04, 646.34, 639.1, 364.36]
|
||||
resolution_width: 1280
|
||||
resolution_height: 720
|
||||
frequency: 30
|
||||
pixel_size: 3.0
|
||||
f_number: 2.0
|
||||
focus_distance: 0.6
|
||||
1
workflows/simbox/core/configs/logger.yaml
Normal file
1
workflows/simbox/core/configs/logger.yaml
Normal file
@@ -0,0 +1 @@
|
||||
placeholder: 0 # todo
|
||||
57
workflows/simbox/core/configs/robots/fr3.yaml
Normal file
57
workflows/simbox/core/configs/robots/fr3.yaml
Normal file
@@ -0,0 +1,57 @@
|
||||
# FR3 robot configuration
|
||||
# Single-arm 7-DOF robot
|
||||
|
||||
# Robot info
|
||||
target_class: FR3
|
||||
path: "franka/robot.usd"
|
||||
|
||||
# CuRobo file
|
||||
robot_file:
|
||||
- workflows/simbox/curobo/src/curobo/content/configs/robot/fr3_left_arm.yml
|
||||
|
||||
# Gripper parameters
|
||||
gripper_max_width: 0.08
|
||||
gripper_min_width: 0.0
|
||||
tcp_offset: 0.1043
|
||||
|
||||
# Solver parameters
|
||||
solver_position_iteration_count: 128
|
||||
solver_velocity_iteration_count: 4
|
||||
stabilization_threshold: 0.005
|
||||
|
||||
# Joint indices
|
||||
left_joint_indices: [0, 1, 2, 3, 4, 5, 6]
|
||||
left_gripper_indices: [7]
|
||||
|
||||
# Paths (relative to robot_prim_path)
|
||||
fl_ee_path: "fr3/panda_hand"
|
||||
fl_base_path: "fr3/panda_link0"
|
||||
|
||||
# Gripper keypoints
|
||||
fl_gripper_keypoints:
|
||||
tool_head: [0.0, 0.0, 0.1034, 1]
|
||||
tool_tail: [0.0, 0.0, 0.0584, 1]
|
||||
tool_side: [0.0, 0.04, 0.1034, 1]
|
||||
|
||||
# Collision paths
|
||||
fl_filter_paths:
|
||||
- "fr3/panda_leftfinger"
|
||||
- "fr3/panda_rightfinger"
|
||||
fl_forbid_collision_paths:
|
||||
- "fr3/panda_link2"
|
||||
- "fr3/panda_link3"
|
||||
- "fr3/panda_link4"
|
||||
- "fr3/panda_link5"
|
||||
- "fr3/panda_link6"
|
||||
- "fr3/panda_link7"
|
||||
- "fr3/panda_link8"
|
||||
- "fr3/panda_hand"
|
||||
|
||||
# Pose processing (Z-axis gripper)
|
||||
R_ee_graspnet: [[0.0, 0.0, -1.0], [0.0, 1.0, 0.0], [1.0, 0.0, 0.0]]
|
||||
ee_axis: "z"
|
||||
|
||||
# Default joint home positions
|
||||
left_joint_home: [0, -0.785, 0, -2.356, 0, 1.571, 0.785]
|
||||
left_joint_home_std: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
||||
left_gripper_home: [0.04]
|
||||
59
workflows/simbox/core/configs/robots/franka_robotiq85.yaml
Normal file
59
workflows/simbox/core/configs/robots/franka_robotiq85.yaml
Normal file
@@ -0,0 +1,59 @@
|
||||
# FrankaRobotiq85 robot configuration
|
||||
# Single-arm 7-DOF robot with Robotiq 2F-85 gripper
|
||||
|
||||
# Robot info
|
||||
target_class: FrankaRobotiq85
|
||||
path: "frankarobotiq/robot.usd"
|
||||
|
||||
# CuRobo file
|
||||
robot_file:
|
||||
- workflows/simbox/curobo/src/curobo/content/configs/robot/frankarobotiq_left_arm.yml
|
||||
|
||||
# Gripper parameters
|
||||
gripper_max_width: 0.085
|
||||
gripper_min_width: 0.0
|
||||
tcp_offset: 0.165
|
||||
|
||||
# Solver parameters
|
||||
solver_position_iteration_count: 128
|
||||
solver_velocity_iteration_count: 4
|
||||
stabilization_threshold: 0.005
|
||||
|
||||
# Joint indices
|
||||
left_joint_indices: [0, 1, 2, 3, 4, 5, 6]
|
||||
left_gripper_indices: [7, 8]
|
||||
|
||||
# Paths
|
||||
fl_ee_path: "arm/panda_link8"
|
||||
fl_base_path: "arm/panda_link0"
|
||||
|
||||
# Gripper keypoints
|
||||
fl_gripper_keypoints:
|
||||
tool_head: [0.0, 0.0, 0.155, 1]
|
||||
tool_tail: [0.0, 0.0, 0.025, 1]
|
||||
tool_side: [0.0, 0.045, 0.155, 1]
|
||||
|
||||
# Collision paths
|
||||
fl_filter_paths:
|
||||
- "arm/Robotiq_2F_85/left_inner_finger_pad"
|
||||
- "arm/Robotiq_2F_85/right_inner_finger_pad"
|
||||
fl_forbid_collision_paths:
|
||||
- "arm/panda_link2"
|
||||
- "arm/panda_link3"
|
||||
- "arm/panda_link4"
|
||||
- "arm/panda_link5"
|
||||
- "arm/panda_link6"
|
||||
- "arm/panda_link7"
|
||||
- "arm/panda_link8"
|
||||
|
||||
# Pose processing (Z-axis gripper)
|
||||
R_ee_graspnet: [[0.0, 0.0, -1.0], [0.0, 1.0, 0.0], [1.0, 0.0, 0.0]]
|
||||
ee_axis: "z"
|
||||
|
||||
# Extra depth file
|
||||
extra_depth_file: "tcp2base_offset.json"
|
||||
|
||||
# Default joint home positions
|
||||
left_joint_home: [0, -0.785, 0, -2.356, 0, 1.571, 0.0]
|
||||
left_joint_home_std: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
||||
left_gripper_home: [0.0, 0.0]
|
||||
80
workflows/simbox/core/configs/robots/genie1.yaml
Normal file
80
workflows/simbox/core/configs/robots/genie1.yaml
Normal file
@@ -0,0 +1,80 @@
|
||||
# Genie1 robot configuration
|
||||
# Dual-arm 7-DOF robot with body and head joints
|
||||
|
||||
# Robot info
|
||||
target_class: Genie1
|
||||
path: "G1_120s/robot.usd"
|
||||
|
||||
# CuRobo file
|
||||
robot_file:
|
||||
- workflows/simbox/curobo/src/curobo/content/configs/robot/G1_120s_left_arm_parallel_gripper.yml
|
||||
- workflows/simbox/curobo/src/curobo/content/configs/robot/G1_120s_right_arm_parallel_gripper.yml
|
||||
|
||||
# Gripper parameters
|
||||
gripper_max_width: 0.1
|
||||
gripper_min_width: 0.0
|
||||
tcp_offset: 0.217
|
||||
|
||||
# Solver parameters
|
||||
solver_position_iteration_count: 128
|
||||
solver_velocity_iteration_count: 4
|
||||
stabilization_threshold: 0.005
|
||||
|
||||
# Joint indices
|
||||
left_joint_indices: [4, 6, 8, 10, 12, 14, 16]
|
||||
right_joint_indices: [5, 7, 9, 11, 13, 15, 17]
|
||||
left_gripper_indices: [19]
|
||||
right_gripper_indices: [21]
|
||||
body_indices: [0, 1]
|
||||
head_indices: [2, 3]
|
||||
|
||||
# Paths
|
||||
fl_ee_path: "arm_l_end_link"
|
||||
fr_ee_path: "arm_r_end_link"
|
||||
fl_base_path: "arm_base_link"
|
||||
fr_base_path: "arm_base_link"
|
||||
|
||||
# Gripper keypoints
|
||||
fl_gripper_keypoints:
|
||||
tool_head: [0.0, 0.0, 0.217, 1]
|
||||
tool_tail: [0.0, 0.0, 0.03, 1]
|
||||
tool_side: [0.05, 0.0, 0.217, 1]
|
||||
fr_gripper_keypoints:
|
||||
tool_head: [0.0, 0.0, 0.217, 1]
|
||||
tool_tail: [0.0, 0.0, 0.03, 1]
|
||||
tool_side: [0.05, 0.0, 0.217, 1]
|
||||
|
||||
# Collision paths
|
||||
fl_filter_paths:
|
||||
- "gripper_l_outer_link5"
|
||||
- "gripper_l_inner_link5"
|
||||
fr_filter_paths:
|
||||
- "gripper_r_outer_link5"
|
||||
- "gripper_r_inner_link5"
|
||||
fl_forbid_collision_paths:
|
||||
- "arm_l_link2"
|
||||
- "arm_l_link3"
|
||||
- "arm_l_link4"
|
||||
- "arm_l_link5"
|
||||
fr_forbid_collision_paths:
|
||||
- "arm_r_link2"
|
||||
- "arm_r_link3"
|
||||
- "arm_r_link4"
|
||||
- "arm_r_link5"
|
||||
|
||||
# Pose processing (Z-axis gripper)
|
||||
R_ee_graspnet: [[0.0, 1.0, 0.0], [0.0, 0.0, 1.0], [1.0, 0.0, 0.0]]
|
||||
ee_axis: "z"
|
||||
|
||||
# Extra depth file
|
||||
extra_depth_file: "tcp2base_offset.json"
|
||||
|
||||
# Default joint home positions
|
||||
left_joint_home: [-1.069, 0.608, 0.279, -1.278, 0.727, 1.489, -0.186]
|
||||
right_joint_home: [1.074, -0.611, -0.280, 1.284, -0.730, -1.495, 0.188]
|
||||
left_joint_home_std: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
||||
right_joint_home_std: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
||||
left_gripper_home: [1.0]
|
||||
right_gripper_home: [1.0]
|
||||
body_home: [0.32, 0.63]
|
||||
head_home: [0.0, 0.349]
|
||||
75
workflows/simbox/core/configs/robots/lift2.yaml
Normal file
75
workflows/simbox/core/configs/robots/lift2.yaml
Normal file
@@ -0,0 +1,75 @@
|
||||
# Lift2 robot configuration
|
||||
# Dual-arm 6-DOF robot with lift joint
|
||||
|
||||
# Robot info
|
||||
target_class: Lift2
|
||||
path: "lift2/robot_invisible.usd"
|
||||
|
||||
# CuRobo file
|
||||
robot_file:
|
||||
- workflows/simbox/curobo/src/curobo/content/configs/robot/r5a_left_arm.yml
|
||||
- workflows/simbox/curobo/src/curobo/content/configs/robot/r5a_right_arm.yml
|
||||
|
||||
# Gripper parameters
|
||||
gripper_max_width: 0.088
|
||||
gripper_min_width: 0.0
|
||||
tcp_offset: 0.125
|
||||
|
||||
# Solver parameters
|
||||
solver_position_iteration_count: 128
|
||||
solver_velocity_iteration_count: 4
|
||||
stabilization_threshold: 0.005
|
||||
|
||||
# Joint indices
|
||||
left_joint_indices: [10, 12, 14, 16, 18, 20]
|
||||
right_joint_indices: [9, 11, 13, 15, 17, 19]
|
||||
left_gripper_indices: [23]
|
||||
right_gripper_indices: [21]
|
||||
lift_indices: [6]
|
||||
|
||||
# Paths
|
||||
fl_ee_path: "lift2/lift2/fl/link6"
|
||||
fr_ee_path: "lift2/lift2/fr/link6"
|
||||
fl_base_path: "lift2/lift2/fl/base_link"
|
||||
fr_base_path: "lift2/lift2/fr/base_link"
|
||||
|
||||
# Gripper keypoints
|
||||
fl_gripper_keypoints:
|
||||
tool_head: [0.135, 0.0, 0.0, 1]
|
||||
tool_tail: [0.085, 0.0, 0.0, 1]
|
||||
tool_side: [0.135, -0.044, 0.0, 1]
|
||||
fr_gripper_keypoints:
|
||||
tool_head: [0.135, 0.0, 0.0, 1]
|
||||
tool_tail: [0.085, 0.0, 0.0, 1]
|
||||
tool_side: [0.135, -0.044, 0.0, 1]
|
||||
|
||||
# Collision paths
|
||||
fl_filter_paths:
|
||||
- "lift2/lift2/fl/link7"
|
||||
- "lift2/lift2/fl/link8"
|
||||
fr_filter_paths:
|
||||
- "lift2/lift2/fr/link7"
|
||||
- "lift2/lift2/fr/link8"
|
||||
fl_forbid_collision_paths:
|
||||
- "lift2/lift2/fl/link2"
|
||||
- "lift2/lift2/fl/link3"
|
||||
- "lift2/lift2/fl/link4"
|
||||
- "lift2/lift2/fl/link5"
|
||||
fr_forbid_collision_paths:
|
||||
- "lift2/lift2/fr/link2"
|
||||
- "lift2/lift2/fr/link3"
|
||||
- "lift2/lift2/fr/link4"
|
||||
- "lift2/lift2/fr/link5"
|
||||
|
||||
# Pose processing (X-axis gripper)
|
||||
R_ee_graspnet: [[1.0, 0.0, 0.0], [0.0, -1.0, 0.0], [0.0, 0.0, -1.0]]
|
||||
ee_axis: "x"
|
||||
|
||||
# Default joint home positions
|
||||
left_joint_home: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
||||
right_joint_home: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
||||
left_joint_home_std: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
||||
right_joint_home_std: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
||||
left_gripper_home: [0.044]
|
||||
right_gripper_home: [0.044]
|
||||
lift_home: [0.46]
|
||||
73
workflows/simbox/core/configs/robots/split_aloha.yaml
Normal file
73
workflows/simbox/core/configs/robots/split_aloha.yaml
Normal file
@@ -0,0 +1,73 @@
|
||||
# SplitAloha robot configuration
|
||||
# Dual-arm 6-DOF robot
|
||||
|
||||
# Robot info
|
||||
target_class: SplitAloha
|
||||
path: "split_aloha_mid_360/robot.usd"
|
||||
|
||||
# CuRobo file
|
||||
robot_file:
|
||||
- workflows/simbox/curobo/src/curobo/content/configs/robot/piper100_left_arm.yml
|
||||
- workflows/simbox/curobo/src/curobo/content/configs/robot/piper100_right_arm.yml
|
||||
|
||||
# Gripper parameters
|
||||
gripper_max_width: 0.10
|
||||
gripper_min_width: 0.0
|
||||
tcp_offset: 0.12
|
||||
|
||||
# Solver parameters
|
||||
solver_position_iteration_count: 128
|
||||
solver_velocity_iteration_count: 4
|
||||
stabilization_threshold: 0.005
|
||||
|
||||
# Joint indices
|
||||
left_joint_indices: [12, 14, 16, 18, 20, 22]
|
||||
right_joint_indices: [13, 15, 17, 19, 21, 23]
|
||||
left_gripper_indices: [24]
|
||||
right_gripper_indices: [26]
|
||||
|
||||
# Paths
|
||||
fl_ee_path: "split_aloha_mid_360_with_piper/split_aloha_mid_360_with_piper/fl/link6"
|
||||
fr_ee_path: "split_aloha_mid_360_with_piper/split_aloha_mid_360_with_piper/fr/link6"
|
||||
fl_base_path: "split_aloha_mid_360_with_piper/split_aloha_mid_360_with_piper/fl/arm_base"
|
||||
fr_base_path: "split_aloha_mid_360_with_piper/split_aloha_mid_360_with_piper/fr/arm_base"
|
||||
|
||||
# Gripper keypoints
|
||||
fl_gripper_keypoints:
|
||||
tool_head: [0.0, 0.0, 0.12, 1]
|
||||
tool_tail: [0.0, 0.0, 0.06, 1]
|
||||
tool_side: [-0.05, 0.0, 0.12, 1]
|
||||
fr_gripper_keypoints:
|
||||
tool_head: [0.0, 0.0, 0.12, 1]
|
||||
tool_tail: [0.0, 0.0, 0.06, 1]
|
||||
tool_side: [-0.05, 0.0, 0.12, 1]
|
||||
|
||||
# Collision paths
|
||||
fl_filter_paths:
|
||||
- "split_aloha_mid_360_with_piper/split_aloha_mid_360_with_piper/fl/link7"
|
||||
- "split_aloha_mid_360_with_piper/split_aloha_mid_360_with_piper/fl/link8"
|
||||
fr_filter_paths:
|
||||
- "split_aloha_mid_360_with_piper/split_aloha_mid_360_with_piper/fr/link7"
|
||||
- "split_aloha_mid_360_with_piper/split_aloha_mid_360_with_piper/fr/link8"
|
||||
fl_forbid_collision_paths:
|
||||
- "split_aloha_mid_360_with_piper/split_aloha_mid_360_with_piper/fl/link2"
|
||||
- "split_aloha_mid_360_with_piper/split_aloha_mid_360_with_piper/fl/link3"
|
||||
- "split_aloha_mid_360_with_piper/split_aloha_mid_360_with_piper/fl/link4"
|
||||
- "split_aloha_mid_360_with_piper/split_aloha_mid_360_with_piper/fl/link5"
|
||||
fr_forbid_collision_paths:
|
||||
- "split_aloha_mid_360_with_piper/split_aloha_mid_360_with_piper/fr/link2"
|
||||
- "split_aloha_mid_360_with_piper/split_aloha_mid_360_with_piper/fr/link3"
|
||||
- "split_aloha_mid_360_with_piper/split_aloha_mid_360_with_piper/fr/link4"
|
||||
- "split_aloha_mid_360_with_piper/split_aloha_mid_360_with_piper/fr/link5"
|
||||
|
||||
# Pose processing (Z-axis gripper)
|
||||
R_ee_graspnet: [[0.0, -1.0, 0.0], [0.0, 0.0, -1.0], [1.0, 0.0, 0.0]]
|
||||
ee_axis: "z"
|
||||
|
||||
# Default joint home positions
|
||||
left_joint_home: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
||||
right_joint_home: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
||||
left_joint_home_std: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
||||
right_joint_home_std: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
||||
left_gripper_home: [0.05]
|
||||
right_gripper_home: [0.05]
|
||||
@@ -0,0 +1,173 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "franka"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/fr3.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home_std: [0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: close_h_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
info_name: "close_h"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [0.785, 0.875]
|
||||
apply_randomization: True
|
||||
# fix_base: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
art_cat: art/electriccooker
|
||||
|
||||
regions:
|
||||
-
|
||||
object: close_h_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.35, -0.20, 0],
|
||||
[0.35, 0.1, 0]
|
||||
]
|
||||
yaw_rotation: [-45, 45]
|
||||
-
|
||||
object: ${tasks.0.robots.0.name}
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.50, -0.1],
|
||||
[0.025, -0.50, 0.1]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_hand
|
||||
translation: [0.085, 0.0, -0.02]
|
||||
orientation: [0.153, 0.690, 0.690, 0.153]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d435i.yaml
|
||||
parent: "${tasks.0.robots.0.name}/fr3/panda_hand" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_head
|
||||
translation: [0.85, -0.75, 1.45]
|
||||
orientation: [0.73, 0.50, 0.26, 0.39]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.06
|
||||
max_orientation_noise: 10.0
|
||||
|
||||
data:
|
||||
task_dir: "close_the_electrickcooker"
|
||||
language_instruction: "Close the electrickcooker."
|
||||
detailed_language_instruction: "Close the electrickcooker."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 4000
|
||||
|
||||
skills:
|
||||
-
|
||||
franka:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: close
|
||||
objects: [close_h_left]
|
||||
collision_valid: False
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.08
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.001 # 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.05
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.05 # 0.05
|
||||
target_inner_product: 1.0
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [["translate_z", -0.045]] # 0.03 ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [
|
||||
["rotate", 0.5],
|
||||
["rotate", 0.3],
|
||||
["rotate", 0.2],
|
||||
["rotate", 0.1],
|
||||
["rotate", 0.1],
|
||||
["rotate", 0.1],
|
||||
["rotate", 0.1],
|
||||
] # ["translate_z", 0.08],
|
||||
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: -5
|
||||
x_max: 5
|
||||
y_min: 0
|
||||
y_max: 5
|
||||
z_min: -45
|
||||
z_max: 45
|
||||
position:
|
||||
x_min: -0.02
|
||||
x_max: 0.02
|
||||
y_min: -0.02
|
||||
y_max: 0.02
|
||||
z_min: -0.03
|
||||
z_max: 0
|
||||
@@ -0,0 +1,173 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "franka"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/fr3.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home_std: [0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: close_h_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
info_name: "close_h"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [0.785, 0.875]
|
||||
apply_randomization: True
|
||||
# fix_base: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
art_cat: art/laptop
|
||||
|
||||
regions:
|
||||
-
|
||||
object: close_h_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.35, -0.20, 0],
|
||||
[0.35, 0.1, 0]
|
||||
]
|
||||
yaw_rotation: [-45, 45]
|
||||
-
|
||||
object: ${tasks.0.robots.0.name}
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.50, -0.1],
|
||||
[0.025, -0.50, 0.1]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_hand
|
||||
translation: [0.085, 0.0, -0.02]
|
||||
orientation: [0.153, 0.690, 0.690, 0.153]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d435i.yaml
|
||||
parent: "${tasks.0.robots.0.name}/fr3/panda_hand" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_head
|
||||
translation: [0.85, -0.75, 1.45]
|
||||
orientation: [0.73, 0.50, 0.26, 0.39]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.06
|
||||
max_orientation_noise: 10.0
|
||||
|
||||
data:
|
||||
task_dir: "close_the_laptop"
|
||||
language_instruction: "Close the laptop."
|
||||
detailed_language_instruction: "Close the laptop."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 4000
|
||||
|
||||
skills:
|
||||
-
|
||||
franka:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: close
|
||||
objects: [close_h_left]
|
||||
collision_valid: False
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.08
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.001 # 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.05
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.05 # 0.05
|
||||
target_inner_product: 1.0
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [["translate_z", -0.045]] # 0.03 ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [
|
||||
["rotate", 0.5],
|
||||
["rotate", 0.3],
|
||||
["rotate", 0.2],
|
||||
["rotate", 0.1],
|
||||
["rotate", 0.1],
|
||||
["rotate", 0.1],
|
||||
["rotate", 0.1],
|
||||
] # ["translate_z", 0.08],
|
||||
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: -5
|
||||
x_max: 5
|
||||
y_min: 0
|
||||
y_max: 5
|
||||
z_min: -45
|
||||
z_max: 45
|
||||
position:
|
||||
x_min: -0.02
|
||||
x_max: 0.02
|
||||
y_min: -0.02
|
||||
y_max: 0.02
|
||||
z_min: -0.03
|
||||
z_max: 0
|
||||
@@ -0,0 +1,168 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "franka"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/fr3.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home_std: [0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: close_v_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
info_name: "close_v"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [0.6, 1.0]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
# fix_base: True
|
||||
art_cat: art/microwave_gr
|
||||
|
||||
regions:
|
||||
-
|
||||
object: close_v_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.25, 0.0, 0.0],
|
||||
[0.25, 0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-45, 45]
|
||||
-
|
||||
object: ${tasks.0.robots.0.name}
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.50, -0.15],
|
||||
[0.025, -0.50, 0.05]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_hand
|
||||
translation: [0.085, 0.0, -0.02]
|
||||
orientation: [0.153, 0.690, 0.690, 0.153]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d435i.yaml
|
||||
parent: "${tasks.0.robots.0.name}/fr3/panda_hand" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_head
|
||||
translation: [0.85, -0.75, 1.45]
|
||||
orientation: [0.73, 0.50, 0.26, 0.39]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.06
|
||||
max_orientation_noise: 10.0
|
||||
|
||||
data:
|
||||
task_dir: "close_the_microwave_part0"
|
||||
language_instruction: "Close the microwave."
|
||||
detailed_language_instruction: "Close the microwave door."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
franka:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: close
|
||||
objects: [close_v_left]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.08
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.0001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge_door
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.2
|
||||
target_inner_product: 0.5
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [ ["translate_z", -0.05]] # ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [ ["rotate",0.15],["rotate",0.15], ["rotate",0.15], ["rotate",0.1], ["rotate",0.1],["rotate",0.1], ["rotate",0.1], ["rotate",0.1], ["rotate",0.1],["rotate",0.1],["rotate",0.05], ["rotate",0.05]] # ["translate_z", 0.08],
|
||||
# post_actuation_motions: [ ["rotate",0.1],["rotate",0.1], ["rotate",0.1], ["rotate",0.1], ["rotate",0.1],["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05]] # ["translate_z", 0.08],
|
||||
|
||||
# in link8 frame, in degree, in metre
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: -3
|
||||
x_max: 3
|
||||
y_min: -3
|
||||
y_max: 3
|
||||
z_min: -25
|
||||
z_max: 25
|
||||
position:
|
||||
x_min: -0.05
|
||||
x_max: 0.0
|
||||
y_min: -0.1
|
||||
y_max: 0.0
|
||||
z_min: -0.02
|
||||
z_max: 0.0
|
||||
@@ -0,0 +1,168 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "franka"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/fr3.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home_std: [0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: close_v_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
info_name: "close_v"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [0.6, 1.0]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
# fix_base: True
|
||||
art_cat: art/microwave_im
|
||||
|
||||
regions:
|
||||
-
|
||||
object: close_v_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.25, 0.05, 0.0],
|
||||
[0.25, 0.30, 0.0]
|
||||
]
|
||||
yaw_rotation: [-45, 45]
|
||||
-
|
||||
object: ${tasks.0.robots.0.name}
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.50, -0.15],
|
||||
[0.025, -0.50, 0.05]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_hand
|
||||
translation: [0.085, 0.0, -0.02]
|
||||
orientation: [0.153, 0.690, 0.690, 0.153]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d435i.yaml
|
||||
parent: "${tasks.0.robots.0.name}/fr3/panda_hand" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_head
|
||||
translation: [0.85, -0.75, 1.45]
|
||||
orientation: [0.73, 0.50, 0.26, 0.39]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.06
|
||||
max_orientation_noise: 10.0
|
||||
|
||||
data:
|
||||
task_dir: "close_the_microwave_part1"
|
||||
language_instruction: "Close the microwave."
|
||||
detailed_language_instruction: "Close the microwave door."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
franka:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: close
|
||||
objects: [close_v_left]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.08
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.0001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge_door
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.2
|
||||
target_inner_product: 0.5
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [ ["translate_z", -0.05]] # ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [ ["rotate",0.15],["rotate",0.15], ["rotate",0.15], ["rotate",0.1], ["rotate",0.1],["rotate",0.1], ["rotate",0.1], ["rotate",0.1], ["rotate",0.1],["rotate",0.1],["rotate",0.05], ["rotate",0.05]] # ["translate_z", 0.08],
|
||||
# post_actuation_motions: [ ["rotate",0.1],["rotate",0.1], ["rotate",0.1], ["rotate",0.1], ["rotate",0.1],["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05]] # ["translate_z", 0.08],
|
||||
|
||||
# in link8 frame, in degree, in metre
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: -3
|
||||
x_max: 3
|
||||
y_min: -3
|
||||
y_max: 3
|
||||
z_min: -25
|
||||
z_max: 25
|
||||
position:
|
||||
x_min: -0.05
|
||||
x_max: 0.0
|
||||
y_min: -0.1
|
||||
y_max: 0.0
|
||||
z_min: -0.02
|
||||
z_max: 0.0
|
||||
@@ -0,0 +1,173 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "franka"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/fr3.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home_std: [0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: close_h_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
info_name: "close_h"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [0.785, 0.875]
|
||||
apply_randomization: True
|
||||
# fix_base: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
art_cat: art/pot
|
||||
|
||||
regions:
|
||||
-
|
||||
object: close_h_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.35, -0.20, 0],
|
||||
[0.35, 0.1, 0]
|
||||
]
|
||||
yaw_rotation: [-45, 45]
|
||||
-
|
||||
object: ${tasks.0.robots.0.name}
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.50, -0.1],
|
||||
[0.025, -0.50, 0.1]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_hand
|
||||
translation: [0.085, 0.0, -0.02]
|
||||
orientation: [0.153, 0.690, 0.690, 0.153]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d435i.yaml
|
||||
parent: "${tasks.0.robots.0.name}/fr3/panda_hand" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_head
|
||||
translation: [0.85, -0.75, 1.45]
|
||||
orientation: [0.73, 0.50, 0.26, 0.39]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.06
|
||||
max_orientation_noise: 10.0
|
||||
|
||||
data:
|
||||
task_dir: "close_the_pot"
|
||||
language_instruction: "Close the pot."
|
||||
detailed_language_instruction: "Close the pot."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 4000
|
||||
|
||||
skills:
|
||||
-
|
||||
franka:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: close
|
||||
objects: [close_h_left]
|
||||
collision_valid: False
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.08
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.001 # 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.05
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.05 # 0.05
|
||||
target_inner_product: 1.0
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [["translate_z", -0.045]] # 0.03 ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [
|
||||
["rotate", 0.5],
|
||||
["rotate", 0.3],
|
||||
["rotate", 0.2],
|
||||
["rotate", 0.1],
|
||||
["rotate", 0.1],
|
||||
["rotate", 0.1],
|
||||
["rotate", 0.1],
|
||||
] # ["translate_z", 0.08],
|
||||
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: -5
|
||||
x_max: 5
|
||||
y_min: 0
|
||||
y_max: 5
|
||||
z_min: -45
|
||||
z_max: 45
|
||||
position:
|
||||
x_min: -0.02
|
||||
x_max: 0.02
|
||||
y_min: -0.02
|
||||
y_max: 0.02
|
||||
z_min: -0.03
|
||||
z_max: 0
|
||||
@@ -0,0 +1,173 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "franka"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/fr3.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home_std: [0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: close_h_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
info_name: "close_h"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [0.785, 0.875]
|
||||
apply_randomization: True
|
||||
# fix_base: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
art_cat: art/trashcan
|
||||
|
||||
regions:
|
||||
-
|
||||
object: close_h_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.35, -0.20, 0],
|
||||
[0.35, 0.1, 0]
|
||||
]
|
||||
yaw_rotation: [-45, 45]
|
||||
-
|
||||
object: ${tasks.0.robots.0.name}
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.50, -0.1],
|
||||
[0.025, -0.50, 0.1]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_hand
|
||||
translation: [0.085, 0.0, -0.02]
|
||||
orientation: [0.153, 0.690, 0.690, 0.153]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d435i.yaml
|
||||
parent: "${tasks.0.robots.0.name}/fr3/panda_hand" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_head
|
||||
translation: [0.85, -0.75, 1.45]
|
||||
orientation: [0.73, 0.50, 0.26, 0.39]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.06
|
||||
max_orientation_noise: 10.0
|
||||
|
||||
data:
|
||||
task_dir: "close_the_trashcan"
|
||||
language_instruction: "Close the trashcan."
|
||||
detailed_language_instruction: "Close the trashcan."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 4000
|
||||
|
||||
skills:
|
||||
-
|
||||
franka:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: close
|
||||
objects: [close_h_left]
|
||||
collision_valid: False
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.08
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.001 # 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.05
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.05 # 0.05
|
||||
target_inner_product: 1.0
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [["translate_z", -0.045]] # 0.03 ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [
|
||||
["rotate", 0.5],
|
||||
["rotate", 0.3],
|
||||
["rotate", 0.2],
|
||||
["rotate", 0.1],
|
||||
["rotate", 0.1],
|
||||
["rotate", 0.1],
|
||||
["rotate", 0.1],
|
||||
] # ["translate_z", 0.08],
|
||||
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: -5
|
||||
x_max: 5
|
||||
y_min: 0
|
||||
y_max: 5
|
||||
z_min: -45
|
||||
z_max: 45
|
||||
position:
|
||||
x_min: -0.02
|
||||
x_max: 0.02
|
||||
y_min: -0.02
|
||||
y_max: 0.02
|
||||
z_min: -0.03
|
||||
z_max: 0
|
||||
@@ -0,0 +1,169 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/floor_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "franka"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/fr3.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home_std: [0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05]
|
||||
ignore_substring: ["material", "table"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: close_v_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: gr
|
||||
info_name: "close_v"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [0.6, 0.8]
|
||||
apply_randomization: True
|
||||
fix_base: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
art_cat: art/washingmachine_left
|
||||
|
||||
regions:
|
||||
-
|
||||
object: close_v_left
|
||||
target: floor
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.25, 0.28, 0.0],
|
||||
[0.25, 0.45, 0.0]
|
||||
]
|
||||
yaw_rotation: [-15, 15]
|
||||
-
|
||||
object: ${tasks.0.robots.0.name}
|
||||
target: floor
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.50, -0.075],
|
||||
[0.025, -0.50, 0.075]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_hand
|
||||
translation: [0.085, 0.0, -0.02]
|
||||
orientation: [0.153, 0.690, 0.690, 0.153]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d435i.yaml
|
||||
parent: "${tasks.0.robots.0.name}/fr3/panda_hand" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_head
|
||||
translation: [0.85, -0.75, 1.45]
|
||||
orientation: [0.73, 0.50, 0.26, 0.39]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.06
|
||||
max_orientation_noise: 10.0
|
||||
|
||||
data:
|
||||
task_dir: "close_the_washingmachine_part0"
|
||||
language_instruction: "Close the washingmachine."
|
||||
detailed_language_instruction: "Close the washingmachine."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
franka:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: close
|
||||
objects: [close_v_left]
|
||||
collision_valid: False
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.08
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.0001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge_door
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.2
|
||||
target_inner_product: 0.5
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [ ["translate_z", -0.05]] # ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [ ["rotate",0.15],["rotate",0.15], ["rotate",0.15], ["rotate",0.1], ["rotate",0.1],["rotate",0.1], ["rotate",0.1], ["rotate",0.1], ["rotate",0.1],["rotate",0.1],["rotate",0.05], ["rotate",0.05]] # ["translate_z", 0.08],
|
||||
# post_actuation_motions: [ ["rotate",0.1],["rotate",0.1], ["rotate",0.1], ["rotate",0.1], ["rotate",0.1],["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05]] # ["translate_z", 0.08],
|
||||
|
||||
# in link8 frame, in degree, in metre
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: -3
|
||||
x_max: 3
|
||||
y_min: -3
|
||||
y_max: 3
|
||||
z_min: -25
|
||||
z_max: 25
|
||||
position:
|
||||
x_min: -0.05
|
||||
x_max: 0.0
|
||||
y_min: -0.1
|
||||
y_max: 0.0
|
||||
z_min: -0.02
|
||||
z_max: 0.0
|
||||
@@ -0,0 +1,169 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/floor_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "franka"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/fr3.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home_std: [0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05]
|
||||
ignore_substring: ["material", "table"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: close_v_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: gr
|
||||
info_name: "close_v"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [0.6, 0.8]
|
||||
apply_randomization: True
|
||||
fix_base: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
art_cat: art/washingmachine_right
|
||||
|
||||
regions:
|
||||
-
|
||||
object: close_v_left
|
||||
target: floor
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.25, 0.28, 0.0],
|
||||
[0.25, 0.45, 0.0]
|
||||
]
|
||||
yaw_rotation: [-15, 15]
|
||||
-
|
||||
object: ${tasks.0.robots.0.name}
|
||||
target: floor
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.50, -0.075],
|
||||
[0.025, -0.50, 0.075]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_hand
|
||||
translation: [0.085, 0.0, -0.02]
|
||||
orientation: [0.153, 0.690, 0.690, 0.153]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d435i.yaml
|
||||
parent: "${tasks.0.robots.0.name}/fr3/panda_hand" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_head
|
||||
translation: [0.85, -0.75, 1.45]
|
||||
orientation: [0.73, 0.50, 0.26, 0.39]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.06
|
||||
max_orientation_noise: 10.0
|
||||
|
||||
data:
|
||||
task_dir: "close_the_washingmachine_part1"
|
||||
language_instruction: "Close the washingmachine."
|
||||
detailed_language_instruction: "Close the washingmachine."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
franka:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: close
|
||||
objects: [close_v_left]
|
||||
collision_valid: False
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.08
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.0001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge_door
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.2
|
||||
target_inner_product: 0.5
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [ ["translate_z", -0.05]] # ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [ ["rotate",-0.15],["rotate",-0.15], ["rotate",-0.15], ["rotate",-0.1], ["rotate",-0.1],["rotate",-0.1], ["rotate",-0.1], ["rotate",-0.1], ["rotate",-0.1],["rotate",-0.1],["rotate",-0.05], ["rotate",-0.05]] # ["translate_z", 0.08],
|
||||
# post_actuation_motions: [ ["rotate",0.1],["rotate",0.1], ["rotate",0.1], ["rotate",0.1], ["rotate",0.1],["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05]] # ["translate_z", 0.08],
|
||||
|
||||
# in link8 frame, in degree, in metre
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: -3
|
||||
x_max: 3
|
||||
y_min: -3
|
||||
y_max: 3
|
||||
z_min: -25
|
||||
z_max: 25
|
||||
position:
|
||||
x_min: -0.05
|
||||
x_max: 0.0
|
||||
y_min: -0.1
|
||||
y_max: 0.0
|
||||
z_min: -0.02
|
||||
z_max: 0.0
|
||||
@@ -0,0 +1,164 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "franka"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/fr3.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home_std: [0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: open_h_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
info_name: "open_h"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [0.5, 0.6]
|
||||
apply_randomization: True
|
||||
# fix_base: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
art_cat: art/laptop
|
||||
|
||||
regions:
|
||||
-
|
||||
object: open_h_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.35, -0.20, 0],
|
||||
[0.35, 0.1, 0]
|
||||
]
|
||||
yaw_rotation: [-45, 45]
|
||||
-
|
||||
object: ${tasks.0.robots.0.name}
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.50, -0.1],
|
||||
[0.025, -0.50, 0.1]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_hand
|
||||
translation: [0.085, 0.0, -0.02]
|
||||
orientation: [0.153, 0.690, 0.690, 0.153]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d435i.yaml
|
||||
parent: "${tasks.0.robots.0.name}/fr3/panda_hand" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_head
|
||||
translation: [0.85, -0.75, 1.45]
|
||||
orientation: [0.73, 0.50, 0.26, 0.39]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.06
|
||||
max_orientation_noise: 10.0
|
||||
|
||||
data:
|
||||
task_dir: "open_the_laptop"
|
||||
language_instruction: "Open the laptop."
|
||||
detailed_language_instruction: "Grasp the lid of the laptop and swing it open."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 500
|
||||
|
||||
skills:
|
||||
-
|
||||
franka:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: open
|
||||
objects: [open_h_left]
|
||||
collision_valid: False
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: OpenBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.52
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
target_axis_from_keypoint_name: articulated_object_tail
|
||||
target_axis_to_keypoint_name: articulated_object_head
|
||||
tolerance: 0.0005
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_axis_computed_by_keypoints
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [["translate_z", -0.07]] # avoid high-difficulty motions seen in collected training demos
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.1], ["rotate", -0.1]]
|
||||
modify_actuation_motion: ["translate_z", 0.02] # move 0.02 deeper along this axis
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: 0.0
|
||||
z_max: 0.0
|
||||
position:
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: 0.0
|
||||
z_max: 0.0
|
||||
@@ -0,0 +1,163 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "franka"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/fr3.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home_std: [0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: open_v_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
info_name: "open_v"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [0.34, 0.45]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
# fix_base: True
|
||||
art_cat: art/microwave_gr
|
||||
|
||||
regions:
|
||||
-
|
||||
object: open_v_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.35, 0.0, 0.0],
|
||||
[0.35, 0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-45, 45]
|
||||
-
|
||||
object: ${tasks.0.robots.0.name}
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.50, -0.15],
|
||||
[0.025, -0.50, 0.05]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_hand
|
||||
translation: [0.085, 0.0, -0.02]
|
||||
orientation: [0.153, 0.690, 0.690, 0.153]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d435i.yaml
|
||||
parent: "${tasks.0.robots.0.name}/fr3/panda_hand" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_head
|
||||
translation: [0.85, -0.75, 1.45]
|
||||
orientation: [0.73, 0.50, 0.26, 0.39]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.06
|
||||
max_orientation_noise: 10.0
|
||||
|
||||
data:
|
||||
task_dir: "open_the_microwave_part0"
|
||||
language_instruction: "Open the microwave."
|
||||
detailed_language_instruction: "Grab the upper part of the microwave door and swing it open."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 500
|
||||
|
||||
skills:
|
||||
-
|
||||
franka:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: open
|
||||
objects: [open_v_left]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: OpenBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.7
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: []
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [ ["translate_z", 0.04], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.2],["rotate", -0.2], ["rotate", -0.1], ["rotate", -0.1], ["rotate", -0.1], ["rotate", -0.1]]
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: -3.0
|
||||
y_max: 3.0
|
||||
z_min: 0.0
|
||||
z_max: 0.0
|
||||
position:
|
||||
x_min: -0.01
|
||||
x_max: 0.01
|
||||
y_min: -0.01
|
||||
y_max: 0.01
|
||||
z_min: -0.03
|
||||
z_max: -0.01
|
||||
@@ -0,0 +1,163 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "franka"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/fr3.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home_std: [0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: open_v_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
info_name: "open_v"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [0.34, 0.45]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
# fix_base: True
|
||||
art_cat: art/microwave_im
|
||||
|
||||
regions:
|
||||
-
|
||||
object: open_v_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.35, 0.05, 0.0],
|
||||
[0.35, 0.30, 0.0]
|
||||
]
|
||||
yaw_rotation: [-45, 45]
|
||||
-
|
||||
object: ${tasks.0.robots.0.name}
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.50, -0.15],
|
||||
[0.025, -0.50, 0.05]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_hand
|
||||
translation: [0.085, 0.0, -0.02]
|
||||
orientation: [0.153, 0.690, 0.690, 0.153]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d435i.yaml
|
||||
parent: "${tasks.0.robots.0.name}/fr3/panda_hand" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_head
|
||||
translation: [0.85, -0.75, 1.45]
|
||||
orientation: [0.73, 0.50, 0.26, 0.39]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.06
|
||||
max_orientation_noise: 10.0
|
||||
|
||||
data:
|
||||
task_dir: "open_the_microwave_part1"
|
||||
language_instruction: "Open the microwave."
|
||||
detailed_language_instruction: "Grab the upper part of the microwave door and swing it open."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 500
|
||||
|
||||
skills:
|
||||
-
|
||||
franka:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: open
|
||||
objects: [open_v_left]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: OpenBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.7
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: []
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [ ["translate_z", 0.04], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.2],["rotate", -0.2], ["rotate", -0.1], ["rotate", -0.1], ["rotate", -0.1], ["rotate", -0.1]]
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: -3.0
|
||||
y_max: 3.0
|
||||
z_min: 0.0
|
||||
z_max: 0.0
|
||||
position:
|
||||
x_min: -0.01
|
||||
x_max: 0.01
|
||||
y_min: -0.01
|
||||
y_max: 0.01
|
||||
z_min: -0.03
|
||||
z_max: -0.01
|
||||
@@ -0,0 +1,164 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "franka"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/fr3.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home_std: [0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: open_h_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
info_name: "open_h"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [0.5, 0.6]
|
||||
apply_randomization: True
|
||||
# fix_base: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
art_cat: art/pot
|
||||
|
||||
regions:
|
||||
-
|
||||
object: open_h_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.35, -0.20, 0],
|
||||
[0.35, 0.1, 0]
|
||||
]
|
||||
yaw_rotation: [-45, 45]
|
||||
-
|
||||
object: ${tasks.0.robots.0.name}
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.50, -0.1],
|
||||
[0.025, -0.50, 0.1]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_hand
|
||||
translation: [0.085, 0.0, -0.02]
|
||||
orientation: [0.153, 0.690, 0.690, 0.153]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d435i.yaml
|
||||
parent: "${tasks.0.robots.0.name}/fr3/panda_hand" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_head
|
||||
translation: [0.85, -0.75, 1.45]
|
||||
orientation: [0.73, 0.50, 0.26, 0.39]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.06
|
||||
max_orientation_noise: 10.0
|
||||
|
||||
data:
|
||||
task_dir: "open_the_pot"
|
||||
language_instruction: "Open the pot."
|
||||
detailed_language_instruction: "Grasp the lid of the pot and swing it open."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 500
|
||||
|
||||
skills:
|
||||
-
|
||||
franka:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: open
|
||||
objects: [open_h_left]
|
||||
collision_valid: False
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: OpenBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.52
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
target_axis_from_keypoint_name: articulated_object_tail
|
||||
target_axis_to_keypoint_name: articulated_object_head
|
||||
tolerance: 0.0005
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_axis_computed_by_keypoints
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [["translate_z", -0.07]] # avoid high-difficulty motions seen in collected training demos
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.1], ["rotate", -0.1]]
|
||||
modify_actuation_motion: ["translate_z", 0.02] # move 0.02 deeper along this axis
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: 0.0
|
||||
z_max: 0.0
|
||||
position:
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: 0.0
|
||||
z_max: 0.0
|
||||
@@ -0,0 +1,164 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "franka"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/fr3.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home_std: [0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: open_h_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
info_name: "open_h"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [0.5, 0.6]
|
||||
apply_randomization: True
|
||||
# fix_base: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
art_cat: art/trashcan
|
||||
|
||||
regions:
|
||||
-
|
||||
object: open_h_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.35, -0.20, 0],
|
||||
[0.35, 0.1, 0]
|
||||
]
|
||||
yaw_rotation: [-45, 45]
|
||||
-
|
||||
object: ${tasks.0.robots.0.name}
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.50, -0.1],
|
||||
[0.025, -0.50, 0.1]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_hand
|
||||
translation: [0.085, 0.0, -0.02]
|
||||
orientation: [0.153, 0.690, 0.690, 0.153]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d435i.yaml
|
||||
parent: "${tasks.0.robots.0.name}/fr3/panda_hand" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_head
|
||||
translation: [0.85, -0.75, 1.45]
|
||||
orientation: [0.73, 0.50, 0.26, 0.39]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.06
|
||||
max_orientation_noise: 10.0
|
||||
|
||||
data:
|
||||
task_dir: "open_the_trashcan"
|
||||
language_instruction: "Open the trashcan."
|
||||
detailed_language_instruction: "Grasp the lid of the trashcan and swing it open."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 500
|
||||
|
||||
skills:
|
||||
-
|
||||
franka:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: open
|
||||
objects: [open_h_left]
|
||||
collision_valid: False
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: OpenBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.52
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
target_axis_from_keypoint_name: articulated_object_tail
|
||||
target_axis_to_keypoint_name: articulated_object_head
|
||||
tolerance: 0.0005
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_axis_computed_by_keypoints
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [["translate_z", -0.07]] # avoid high-difficulty motions seen in collected training demos
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.1], ["rotate", -0.1]]
|
||||
modify_actuation_motion: ["translate_z", 0.02] # move 0.02 deeper along this axis
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: 0.0
|
||||
z_max: 0.0
|
||||
position:
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: 0.0
|
||||
z_max: 0.0
|
||||
@@ -0,0 +1,180 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
right_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
left_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
right_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: close_v_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
info_name: "close_v"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [0.6, 0.8]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
art_cat: art/microwave_gr
|
||||
|
||||
regions:
|
||||
-
|
||||
object: close_v_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.25, 0.0, 0.0],
|
||||
[0.05, 0.15, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: lift2
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.8, -0.7],
|
||||
[0.025, -0.80, -0.6]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: lift2_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: lift2_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fr/link6"
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: lift2_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "lift2/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
|
||||
data:
|
||||
task_dir: "close_the_microwave_part0"
|
||||
language_instruction: "Close the microwave with left arm."
|
||||
detailed_language_instruction: "Close the microwave door with the left robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: close
|
||||
objects: [close_v_left]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.08
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.0001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge_door
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.005
|
||||
target_inner_product: 0.7
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [ ["translate_x", -0.05]] # ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [ ["rotate",0.15],["rotate",0.15], ["rotate",0.15], ["rotate",0.1], ["rotate",0.1],["rotate",0.1], ["rotate",0.1], ["rotate",0.1], ["rotate",0.1],["rotate",0.1],["rotate",0.05], ["rotate",0.05]] # ["translate_z", 0.08],
|
||||
# post_actuation_motions: [ ["rotate",0.1],["rotate",0.1], ["rotate",0.1], ["rotate",0.1], ["rotate",0.1],["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05]] # ["translate_z", 0.08],
|
||||
|
||||
# in link8 frame, in degree, in metre
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: -25
|
||||
x_max: 25
|
||||
y_min: -3
|
||||
y_max: 3
|
||||
z_min: -3
|
||||
z_max: 3
|
||||
position:
|
||||
x_min: -0.02 # -0.1
|
||||
x_max: 0.0 # 0.0
|
||||
y_min: 0.0 # -0.02
|
||||
y_max: 0.1 # 0.0
|
||||
z_min: -0.05 # -0.05
|
||||
z_max: 0.0 # 0.0
|
||||
@@ -0,0 +1,180 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
right_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
left_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
right_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: close_v_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
info_name: "close_v"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [0.6, 0.8]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
art_cat: art/microwave_im
|
||||
|
||||
regions:
|
||||
-
|
||||
object: close_v_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.25, 0.05, 0.0],
|
||||
[0.05, 0.20, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: lift2
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.8, -0.7],
|
||||
[0.025, -0.80, -0.6]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: lift2_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: lift2_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fr/link6"
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: lift2_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "lift2/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
|
||||
data:
|
||||
task_dir: "close_the_microwave_part1"
|
||||
language_instruction: "Close the microwave with left arm."
|
||||
detailed_language_instruction: "Close the microwave door with the left robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: close
|
||||
objects: [close_v_left]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.08
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.0001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge_door
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.005
|
||||
target_inner_product: 0.7
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [ ["translate_x", -0.05]] # ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [ ["rotate",0.15],["rotate",0.15], ["rotate",0.15], ["rotate",0.1], ["rotate",0.1],["rotate",0.1], ["rotate",0.1], ["rotate",0.1], ["rotate",0.1],["rotate",0.1],["rotate",0.05], ["rotate",0.05]] # ["translate_z", 0.08],
|
||||
# post_actuation_motions: [ ["rotate",0.1],["rotate",0.1], ["rotate",0.1], ["rotate",0.1], ["rotate",0.1],["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05]] # ["translate_z", 0.08],
|
||||
|
||||
# in link8 frame, in degree, in metre
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: -25
|
||||
x_max: 25
|
||||
y_min: -3
|
||||
y_max: 3
|
||||
z_min: -3
|
||||
z_max: 3
|
||||
position:
|
||||
x_min: -0.02 # -0.1
|
||||
x_max: 0.0 # 0.0
|
||||
y_min: 0.0 # -0.02
|
||||
y_max: 0.1 # 0.0
|
||||
z_min: -0.05 # -0.05
|
||||
z_max: 0.0 # 0.0
|
||||
@@ -0,0 +1,180 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
right_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
left_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
right_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: close_v_right
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
info_name: "close_v"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [0.6, 0.8]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
art_cat: art/microwave_gr
|
||||
|
||||
regions:
|
||||
-
|
||||
object: close_v_right
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.05, 0.0, 0.0],
|
||||
[0.25, 0.15, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: lift2
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.8, -0.7],
|
||||
[0.025, -0.80, -0.6]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: lift2_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: lift2_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fr/link6"
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: lift2_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "lift2/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
|
||||
data:
|
||||
task_dir: "close_the_microwave_part2"
|
||||
language_instruction: "Close the microwave with right arm."
|
||||
detailed_language_instruction: "Close the microwave door with the right robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
-
|
||||
right:
|
||||
-
|
||||
name: close
|
||||
objects: [close_v_right]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.08
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.0001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge_door
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.005
|
||||
target_inner_product: 0.7
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [ ["translate_x", -0.05]] # ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [ ["rotate",0.15],["rotate",0.15], ["rotate",0.15], ["rotate",0.1], ["rotate",0.1],["rotate",0.1], ["rotate",0.1], ["rotate",0.1], ["rotate",0.1],["rotate",0.1],["rotate",0.05], ["rotate",0.05]] # ["translate_z", 0.08],
|
||||
# post_actuation_motions: [ ["rotate",0.1],["rotate",0.1], ["rotate",0.1], ["rotate",0.1], ["rotate",0.1],["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05]] # ["translate_z", 0.08],
|
||||
|
||||
# in link8 frame, in degree, in metre
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: -25
|
||||
x_max: 25
|
||||
y_min: -3
|
||||
y_max: 3
|
||||
z_min: -3
|
||||
z_max: 3
|
||||
position:
|
||||
x_min: -0.02 # -0.1
|
||||
x_max: 0.0 # 0.0
|
||||
y_min: 0.0 # -0.02
|
||||
y_max: 0.1 # 0.0
|
||||
z_min: -0.05 # -0.05
|
||||
z_max: 0.0 # 0.0
|
||||
@@ -0,0 +1,180 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
right_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
left_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
right_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: close_v_right
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
info_name: "close_v"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [0.6, 0.8]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
art_cat: art/microwave_im
|
||||
|
||||
regions:
|
||||
-
|
||||
object: close_v_right
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.05, 0.05, 0.0],
|
||||
[0.30, 0.20, 0.00]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: lift2
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.8, -0.7],
|
||||
[0.025, -0.80, -0.6]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: lift2_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: lift2_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fr/link6"
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: lift2_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "lift2/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
|
||||
data:
|
||||
task_dir: "close_the_microwave_part3"
|
||||
language_instruction: "Close the microwave with right arm."
|
||||
detailed_language_instruction: "Close the microwave door with the right robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
-
|
||||
right:
|
||||
-
|
||||
name: close
|
||||
objects: [close_v_right]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.08
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.0001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge_door
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.005
|
||||
target_inner_product: 0.7
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [ ["translate_x", -0.05]] # ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [ ["rotate",0.15],["rotate",0.15], ["rotate",0.15], ["rotate",0.1], ["rotate",0.1],["rotate",0.1], ["rotate",0.1], ["rotate",0.1], ["rotate",0.1],["rotate",0.1],["rotate",0.05], ["rotate",0.05]] # ["translate_z", 0.08],
|
||||
# post_actuation_motions: [ ["rotate",0.1],["rotate",0.1], ["rotate",0.1], ["rotate",0.1], ["rotate",0.1],["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05]] # ["translate_z", 0.08],
|
||||
|
||||
# in link8 frame, in degree, in metre
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: -25
|
||||
x_max: 25
|
||||
y_min: -3
|
||||
y_max: 3
|
||||
z_min: -3
|
||||
z_max: 3
|
||||
position:
|
||||
x_min: -0.02 # -0.1
|
||||
x_max: 0.0 # 0.0
|
||||
y_min: 0.0 # -0.02
|
||||
y_max: 0.1 # 0.0
|
||||
z_min: -0.05 # -0.05
|
||||
z_max: 0.0 # 0.0
|
||||
@@ -0,0 +1,403 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
# left_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
# right_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
# left_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
# right_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: carton
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
euler: [0.0, 0.0, -90.0]
|
||||
strict_init:
|
||||
joint_positions: [1.3, -1.3]
|
||||
joint_indices: [0, 1]
|
||||
info_name: "close_h_left"
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
optimize_2d_layout: False
|
||||
art_cat: art/close_the_package/carton
|
||||
|
||||
regions:
|
||||
-
|
||||
object: carton
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.05, -0.2, 0.0],
|
||||
[0.05, -0.025, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: lift2
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.8, -0.7],
|
||||
[0.025, -0.8, -0.6]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: lift2_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: lift2_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fr/link6"
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: lift2_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "lift2/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
|
||||
data:
|
||||
task_dir: "close_the_package"
|
||||
language_instruction: "Close the package."
|
||||
detailed_language_instruction: "Close the package."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 4000
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
-
|
||||
right:
|
||||
-
|
||||
name: artpreplan
|
||||
objects: [carton]
|
||||
obj_info_path: art/close_the_package/carton/carton_9/Kps/close_h_right/info.json
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.08
|
||||
update_art_joint: True
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.0001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
# - axis_from_keypoint_name: tool_head
|
||||
# axis_to_keypoint_name: tool_side
|
||||
# cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
# cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
# target_axis: link0_contact_axis
|
||||
# target_axis_frame: object
|
||||
# tolerance: 0.1
|
||||
# target_inner_product: -1
|
||||
# type: frame_axis_parallel
|
||||
# name: hand_parallel_to_link0_edge_door
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.05
|
||||
target_inner_product: 1.0
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [ ["translate_x", -0.05]] # ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [ ["rotate",-0.15],["rotate",-0.15], ["rotate",-0.15], ["rotate",-0.1], ["rotate",-0.1],["rotate",-0.1], ["rotate",-0.1], ["rotate",-0.1], ["rotate",-0.1],["rotate",-0.1],["rotate",-0.05], ["rotate",-0.05]] # ["translate_z", 0.08],
|
||||
# post_actuation_motions: [ ["rotate",0.1],["rotate",0.1], ["rotate",0.1], ["rotate",0.1], ["rotate",0.1],["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05]] # ["translate_z", 0.08],
|
||||
|
||||
# # in link8 frame, in degree, in metre
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: -25
|
||||
x_max: 25
|
||||
y_min: -3
|
||||
y_max: 3
|
||||
z_min: -3
|
||||
z_max: 3
|
||||
position:
|
||||
x_min: -0.02 # -0.1
|
||||
x_max: 0.0 # 0.0
|
||||
y_min: -0.03 # -0.02
|
||||
y_max: 0.0 # 0.0
|
||||
z_min: -0.03 # -0.05
|
||||
z_max: 0.03 # 0.0
|
||||
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: artpreplan
|
||||
objects: [carton]
|
||||
obj_info_path: art/close_the_package/carton/carton_9/Kps/close_h_left/info.json
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.08
|
||||
update_art_joint: True
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.0001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
# - axis_from_keypoint_name: tool_head
|
||||
# axis_to_keypoint_name: tool_side
|
||||
# cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
# cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
# target_axis: link0_contact_axis
|
||||
# target_axis_frame: object
|
||||
# tolerance: 0.1
|
||||
# target_inner_product: -1
|
||||
# type: frame_axis_parallel
|
||||
# name: hand_parallel_to_link0_edge_door
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.05
|
||||
target_inner_product: 1.0
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [ ["translate_x", -0.05]] # ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [ ["rotate",0.15],["rotate",0.15], ["rotate",0.15], ["rotate",0.1], ["rotate",0.1],["rotate",0.1], ["rotate",0.1], ["rotate",0.1], ["rotate",0.1],["rotate",0.1],["rotate",0.05], ["rotate",0.05]] # ["translate_z", 0.08],
|
||||
# post_actuation_motions: [ ["rotate",0.1],["rotate",0.1], ["rotate",0.1], ["rotate",0.1], ["rotate",0.1],["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05]] # ["translate_z", 0.08],
|
||||
|
||||
# # in link8 frame, in degree, in metre
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: -25
|
||||
x_max: 25
|
||||
y_min: -3
|
||||
y_max: 3
|
||||
z_min: -3
|
||||
z_max: 3
|
||||
position:
|
||||
x_min: -0.02 # -0.1
|
||||
x_max: 0.0 # 0.0
|
||||
y_min: 0.0 # -0.02
|
||||
y_max: 0.03 # 0.0
|
||||
z_min: -0.03 # -0.05
|
||||
z_max: 0.03 # 0.0
|
||||
|
||||
-
|
||||
right:
|
||||
-
|
||||
name: close
|
||||
objects: [carton]
|
||||
obj_info_path: art/close_the_package/carton/carton_9/Kps/close_h_right/info.json
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.08
|
||||
update_art_joint: True
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.0001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
# - axis_from_keypoint_name: tool_head
|
||||
# axis_to_keypoint_name: tool_side
|
||||
# cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
# cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
# target_axis: link0_contact_axis
|
||||
# target_axis_frame: object
|
||||
# tolerance: 0.1
|
||||
# target_inner_product: -1
|
||||
# type: frame_axis_parallel
|
||||
# name: hand_parallel_to_link0_edge_door
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.05
|
||||
target_inner_product: 1.0
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [ ["translate_x", -0.05]] # ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [ ["rotate",-0.15],["rotate",-0.15], ["rotate",-0.15], ["rotate",-0.1], ["rotate",-0.1],["rotate",-0.1], ["rotate",-0.1], ["rotate",-0.1], ["rotate",-0.1],["rotate",-0.1],["rotate",-0.05], ["rotate",-0.05]] # ["translate_z", 0.08],
|
||||
# post_actuation_motions: [ ["rotate",0.1],["rotate",0.1], ["rotate",0.1], ["rotate",0.1], ["rotate",0.1],["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05]] # ["translate_z", 0.08],
|
||||
|
||||
# # in link8 frame, in degree, in metre
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: -25
|
||||
x_max: 25
|
||||
y_min: -3
|
||||
y_max: 3
|
||||
z_min: -3
|
||||
z_max: 3
|
||||
position:
|
||||
x_min: -0.02 # -0.1
|
||||
x_max: 0.0 # 0.0
|
||||
y_min: -0.03 # -0.02
|
||||
y_max: 0.0 # 0.0
|
||||
z_min: -0.03 # -0.05
|
||||
z_max: 0.03 # 0.0
|
||||
-
|
||||
name: heuristic__skill
|
||||
mode: home
|
||||
gripper_state: 1.0 # Open gripper
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: close
|
||||
objects: [carton]
|
||||
obj_info_path: art/close_the_package/carton/carton_9/Kps/close_h_left/info.json
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.08
|
||||
update_art_joint: True
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.0001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
# - axis_from_keypoint_name: tool_head
|
||||
# axis_to_keypoint_name: tool_side
|
||||
# cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
# cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
# target_axis: link0_contact_axis
|
||||
# target_axis_frame: object
|
||||
# tolerance: 0.1
|
||||
# target_inner_product: -1
|
||||
# type: frame_axis_parallel
|
||||
# name: hand_parallel_to_link0_edge_door
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.05
|
||||
target_inner_product: 1.0
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [ ["translate_x", -0.05]] # ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [ ["rotate",0.15],["rotate",0.15], ["rotate",0.15], ["rotate",0.1], ["rotate",0.1],["rotate",0.1], ["rotate",0.1], ["rotate",0.1], ["rotate",0.1],["rotate",0.1],["rotate",0.05], ["rotate",0.05]] # ["translate_z", 0.08],
|
||||
# post_actuation_motions: [ ["rotate",0.1],["rotate",0.1], ["rotate",0.1], ["rotate",0.1], ["rotate",0.1],["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05]] # ["translate_z", 0.08],
|
||||
|
||||
# # in link8 frame, in degree, in metre
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: -25
|
||||
x_max: 25
|
||||
y_min: -3
|
||||
y_max: 3
|
||||
z_min: -3
|
||||
z_max: 3
|
||||
position:
|
||||
x_min: -0.02 # -0.1
|
||||
x_max: 0.0 # 0.0
|
||||
y_min: 0.0 # -0.02
|
||||
y_max: 0.03 # 0.0
|
||||
z_min: -0.03 # -0.05
|
||||
z_max: 0.03 # 0.0
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: heuristic__skill
|
||||
mode: home
|
||||
gripper_state: 1.0 # Open gripper
|
||||
@@ -0,0 +1,306 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
right_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
left_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
right_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
ignore_substring: ["material"]
|
||||
objects:
|
||||
-
|
||||
name: microwave
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [1.2, 1.2]
|
||||
info_name: "close_v"
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
optimize_2d_layout: False
|
||||
art_cat: art/heat_the_food_in_the_microwave/microwave
|
||||
-
|
||||
name: pick_0
|
||||
path: art/heat_the_food_in_the_microwave/pick_objs/omniobject3d-bread_090/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [0.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
apply_randomization: True
|
||||
optimize_2d_layout: False
|
||||
|
||||
regions:
|
||||
-
|
||||
object: microwave
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.05, -0.05, 0.0],
|
||||
[0.05, 0.05, 0.0]
|
||||
]
|
||||
yaw_rotation: [0, 0]
|
||||
-
|
||||
object: pick_0
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.15, -0.30, 0.005],
|
||||
[0.25, -0.23, 0.005]
|
||||
]
|
||||
yaw_rotation: [0, 0]
|
||||
-
|
||||
object: lift2
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.8, -0.7],
|
||||
[0.025, -0.8, -0.6]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: lift2_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: lift2_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fr/link6"
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: lift2_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "lift2/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
|
||||
data:
|
||||
task_dir: "heat_the_food_in_the_microwave"
|
||||
language_instruction: "Pick all the objects into the microwave and close the microwave"
|
||||
detailed_language_instruction: "Pick all the objects into the microwave and close the microwave"
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 4000
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: artpreplan
|
||||
objects: [microwave]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.08
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.0001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge_door
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.005
|
||||
target_inner_product: 0.7
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [ ["translate_x", -0.05]] # ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [ ["rotate",0.15],["rotate",0.15], ["rotate",0.15], ["rotate",0.1], ["rotate",0.1],["rotate",0.1], ["rotate",0.1], ["rotate",0.1], ["rotate",0.1],["rotate",0.1],["rotate",0.05], ["rotate",0.05]] # ["translate_z", 0.08],
|
||||
# post_actuation_motions: [ ["rotate",0.1],["rotate",0.1], ["rotate",0.1], ["rotate",0.1], ["rotate",0.1],["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05]] # ["translate_z", 0.08],
|
||||
|
||||
# in link8 frame, in degree, in metre
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: -25
|
||||
x_max: 25
|
||||
y_min: -3
|
||||
y_max: 3
|
||||
z_min: -3
|
||||
z_max: 3
|
||||
position:
|
||||
x_min: -0.02 # -0.1
|
||||
x_max: 0.0 # 0.0
|
||||
y_min: 0.0 # -0.02
|
||||
y_max: 0.1 # 0.0
|
||||
z_min: -0.05 # -0.05
|
||||
z_max: 0.0 # 0.0
|
||||
-
|
||||
right:
|
||||
-
|
||||
name: pick
|
||||
objects: [pick_0]
|
||||
filter_z_dir: ["forward", 45]
|
||||
filter_x_dir: ["downward", 135]
|
||||
# filter_z_dir: ["upward", 60]
|
||||
# filter_x_dir: ["forward", 90]
|
||||
pre_grasp_offset: 0.05
|
||||
gripper_change_steps: 10
|
||||
post_grasp_offset_min: 0.05
|
||||
post_grasp_offset_max: 0.1
|
||||
-
|
||||
name: place
|
||||
place_part_prim_path: "base"
|
||||
place_direction: "horizontal"
|
||||
align_place_obj_axis: [1.0, 0.0, 0.0]
|
||||
ignore_substring: ["microwave"]
|
||||
objects: [pick_0, microwave]
|
||||
# filter_z_dir: ["forward", 90]
|
||||
# filter_x_dir: ["downward", 120]
|
||||
filter_z_dir: ["upward", 45]
|
||||
filter_x_dir: ["forward", 45]
|
||||
y_ratio_range: [0.2, 0.4]
|
||||
x_ratio_range: [0.4, 0.6]
|
||||
z_ratio_range: [0.4, 0.6]
|
||||
pre_place_z_offset: 0.05
|
||||
place_z_offset: 0.05
|
||||
post_place_vector: [-0.1, 0.0, 0.0]
|
||||
# position_constraint: object
|
||||
success_mode: xybbox
|
||||
-
|
||||
name: heuristic__skill
|
||||
mode: home
|
||||
gripper_state: 1.0 # Open gripper
|
||||
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: close
|
||||
objects: [microwave]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.08
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.0001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge_door
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.005
|
||||
target_inner_product: 0.7
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [ ["translate_x", -0.05]] # ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [ ["rotate",0.15],["rotate",0.15], ["rotate",0.15], ["rotate",0.1], ["rotate",0.1],["rotate",0.1], ["rotate",0.1], ["rotate",0.1], ["rotate",0.1],["rotate",0.1],["rotate",0.05], ["rotate",0.05]] # ["translate_z", 0.08],
|
||||
# post_actuation_motions: [ ["rotate",0.1],["rotate",0.1], ["rotate",0.1], ["rotate",0.1], ["rotate",0.1],["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05]] # ["translate_z", 0.08],
|
||||
|
||||
# in link8 frame, in degree, in metre
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: -25
|
||||
x_max: 25
|
||||
y_min: -3
|
||||
y_max: 3
|
||||
z_min: -3
|
||||
z_max: 3
|
||||
position:
|
||||
x_min: -0.02 # -0.1
|
||||
x_max: 0.0 # 0.0
|
||||
y_min: 0.0 # -0.02
|
||||
y_max: 0.1 # 0.0
|
||||
z_min: -0.05 # -0.05
|
||||
z_max: 0.0 # 0.0
|
||||
@@ -0,0 +1,195 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/floor_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [3000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
right_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
left_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
right_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: table
|
||||
path: table0/instance.usd
|
||||
target_class: GeometryObject
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001053, 0.001056]
|
||||
texture:
|
||||
texture_lib: "table_textures"
|
||||
apply_randomization: True
|
||||
texture_id: 0
|
||||
texture_scale: [0.001, 0.001]
|
||||
-
|
||||
name: open_v_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
info_name: "open_v"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [0.34, 0.45]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
art_cat: articulations/microwave_im
|
||||
|
||||
regions:
|
||||
-
|
||||
object: table
|
||||
target: floor
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.0, 0.0, 0.0],
|
||||
[0.0, 0.0, 0.2]
|
||||
]
|
||||
yaw_rotation: [0, 0]
|
||||
-
|
||||
object: open_v_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.35, 0.05, 0.0],
|
||||
[0.0, 0.20, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: lift2
|
||||
target: floor
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.85, 0.05],
|
||||
[0.025, -0.80, 0.15]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: lift2_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: lift2_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fr/link6"
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: lift2_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "lift2/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
data:
|
||||
task_dir: "open_the_microwave_left"
|
||||
language_instruction: "Open the microwave with left arm."
|
||||
detailed_language_instruction: "Grab the upper part of the microwave door and swing it open with the left robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480"
|
||||
update: True
|
||||
max_episode_length: 4000
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: open
|
||||
objects: [open_v_left]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: OpenBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.52
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: []
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [ ["translate_x", 0.04], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.1], ["rotate", -0.1]]
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: -3.0
|
||||
y_max: 3.0
|
||||
z_min: 0.0
|
||||
z_max: 0.0
|
||||
position:
|
||||
x_min: -0.03
|
||||
x_max: -0.01
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: 0.0
|
||||
z_max: 0.04
|
||||
@@ -0,0 +1,175 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
right_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
left_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
right_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: open_v_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
info_name: "open_v"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [0.34, 0.45]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
art_cat: art/microwave_gr
|
||||
|
||||
regions:
|
||||
-
|
||||
object: open_v_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.25, 0.025, 0.0],
|
||||
[0.05, 0.175, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: lift2
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.8, -0.7],
|
||||
[0.025, -0.80, -0.6]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: lift2_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: lift2_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fr/link6"
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: lift2_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "lift2/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
|
||||
data:
|
||||
task_dir: "open_the_microwave_part0"
|
||||
language_instruction: "Open the microwave with left arm."
|
||||
detailed_language_instruction: "Grab the upper part of the microwave door and swing it open with the left robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: open
|
||||
objects: [open_v_left]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: OpenBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.52
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: []
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [ ["translate_x", 0.04], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.1], ["rotate", -0.1]]
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: -3.0
|
||||
y_max: 3.0
|
||||
z_min: 0.0
|
||||
z_max: 0.0
|
||||
position:
|
||||
x_min: -0.03
|
||||
x_max: -0.01
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: 0.0
|
||||
z_max: 0.04
|
||||
@@ -0,0 +1,175 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
right_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
left_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
right_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: open_v_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
info_name: "open_v"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [0.34, 0.45]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
art_cat: art/microwave_im
|
||||
|
||||
regions:
|
||||
-
|
||||
object: open_v_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.35, 0.05, 0.0],
|
||||
[0.0, 0.20, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: lift2
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.8, -0.7],
|
||||
[0.025, -0.80, -0.6]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: lift2_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: lift2_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fr/link6"
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: lift2_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "lift2/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
|
||||
data:
|
||||
task_dir: "open_the_microwave_part1"
|
||||
language_instruction: "Open the microwave with left arm."
|
||||
detailed_language_instruction: "Grab the upper part of the microwave door and swing it open with the left robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: open
|
||||
objects: [open_v_left]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: OpenBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.52
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: []
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [ ["translate_x", 0.04], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.1], ["rotate", -0.1]]
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: -3.0
|
||||
y_max: 3.0
|
||||
z_min: 0.0
|
||||
z_max: 0.0
|
||||
position:
|
||||
x_min: -0.03
|
||||
x_max: -0.01
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: 0.0
|
||||
z_max: 0.04
|
||||
@@ -0,0 +1,175 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
right_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
left_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
right_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: open_v_right
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
info_name: "open_v"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [0.34, 0.45]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
art_cat: art/microwave_gr
|
||||
|
||||
regions:
|
||||
-
|
||||
object: open_v_right
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.05, 0.025, 0.0],
|
||||
[0.25, 0.175, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: lift2
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.8, -0.7],
|
||||
[0.025, -0.80, -0.6]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: lift2_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: lift2_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fr/link6"
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: lift2_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "lift2/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
|
||||
data:
|
||||
task_dir: "open_the_microwave_part2"
|
||||
language_instruction: "Open the microwave with right arm."
|
||||
detailed_language_instruction: "Grab the upper part of the microwave door and swing it open with the right robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
-
|
||||
right:
|
||||
-
|
||||
name: open
|
||||
objects: [open_v_right]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: OpenBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.52
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: []
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [ ["translate_x", 0.04], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.1], ["rotate", -0.1]]
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: -3.0
|
||||
y_max: 3.0
|
||||
z_min: 0.0
|
||||
z_max: 0.0
|
||||
position:
|
||||
x_min: -0.03
|
||||
x_max: -0.01
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: 0.0
|
||||
z_max: 0.04
|
||||
@@ -0,0 +1,175 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
right_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
left_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
right_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: open_v_right
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
info_name: "open_v"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [0.34, 0.45]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
art_cat: art/microwave_im
|
||||
|
||||
regions:
|
||||
-
|
||||
object: open_v_right
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.0, 0.05, 0.0],
|
||||
[0.35, 0.20, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: lift2
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.8, -0.7],
|
||||
[0.025, -0.80, -0.6]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: lift2_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: lift2_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fr/link6"
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: lift2_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "lift2/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
|
||||
data:
|
||||
task_dir: "open_the_microwave_part3"
|
||||
language_instruction: "Open the microwave with right arm."
|
||||
detailed_language_instruction: "Grab the upper part of the microwave door and swing it open with the right robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
-
|
||||
right:
|
||||
-
|
||||
name: open
|
||||
objects: [open_v_right]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: OpenBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.52
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: []
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [ ["translate_x", 0.04], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.1], ["rotate", -0.1]]
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: -3.0
|
||||
y_max: 3.0
|
||||
z_min: 0.0
|
||||
z_max: 0.0
|
||||
position:
|
||||
x_min: -0.03
|
||||
x_max: -0.01
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: 0.0
|
||||
z_max: 0.04
|
||||
@@ -0,0 +1,166 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
right_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
left_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
right_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: pull_art_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
joint_position_range: [0.09, 0.12]
|
||||
info_name: "pull"
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
fix_base: True
|
||||
art_cat: art/storagefurniture_bottom
|
||||
|
||||
regions:
|
||||
-
|
||||
object: pull_art_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.40, 0.0, 0.0],
|
||||
[0.05, 0.15, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: lift2
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.8, -0.7],
|
||||
[0.025, -0.80, -0.6]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: lift2_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: False
|
||||
-
|
||||
name: lift2_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fr/link6"
|
||||
apply_randomization: False
|
||||
-
|
||||
name: lift2_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "lift2/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: False
|
||||
|
||||
data:
|
||||
task_dir: "pull_the_storagefurniture_left_arm_bottom"
|
||||
language_instruction: "Pull the storagefurniture with left arm."
|
||||
detailed_language_instruction: "Pull and open the storagefurniture with the left robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: open
|
||||
objects: [pull_art_left]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: OpenBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.07
|
||||
constraint_list:
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: link_contact_point
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis: object_link0_move_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
target_axis: object_link0_vertical_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: []
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["translate_x", 0.04], ["translate_y", -0.05], ["translate_y", -0.05], ["translate_y", -0.05], ["translate_y", -0.05], ["translate_y", -0.05], ["translate_y", -0.05], ["translate_y", -0.05]]
|
||||
|
||||
keypose_random_range:
|
||||
orientation:
|
||||
x_min: -5.0
|
||||
x_max: 5.0
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: -5.0
|
||||
z_max: 5.0
|
||||
position:
|
||||
x_min: -0.01
|
||||
x_max: 0.01
|
||||
y_min: -0.0
|
||||
y_max: 0.0
|
||||
z_min: -0.03
|
||||
z_max: -0.03
|
||||
@@ -0,0 +1,166 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
right_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
left_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
right_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: pull_art_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
joint_position_range: [0.09, 0.12]
|
||||
info_name: "pull"
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
fix_base: True
|
||||
art_cat: art/storagefurniture_middle
|
||||
|
||||
regions:
|
||||
-
|
||||
object: pull_art_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.40, 0.0, 0.0],
|
||||
[0.05, 0.15, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: lift2
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.8, -0.6],
|
||||
[0.025, -0.80, -0.5]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: lift2_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: False
|
||||
-
|
||||
name: lift2_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fr/link6"
|
||||
apply_randomization: False
|
||||
-
|
||||
name: lift2_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "lift2/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: False
|
||||
|
||||
data:
|
||||
task_dir: "pull_the_storagefurniture_left_arm_middle"
|
||||
language_instruction: "Pull the storagefurniture with left arm."
|
||||
detailed_language_instruction: "Pull and open the storagefurniture with the left robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: open
|
||||
objects: [pull_art_left]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: OpenBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.07
|
||||
constraint_list:
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: link_contact_point
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis: object_link0_move_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
target_axis: object_link0_vertical_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: []
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["translate_x", 0.04], ["translate_y", -0.05], ["translate_y", -0.05], ["translate_y", -0.05], ["translate_y", -0.05], ["translate_y", -0.05], ["translate_y", -0.05], ["translate_y", -0.05]]
|
||||
|
||||
keypose_random_range:
|
||||
orientation:
|
||||
x_min: -5.0
|
||||
x_max: 5.0
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: -5.0
|
||||
z_max: 5.0
|
||||
position:
|
||||
x_min: -0.01
|
||||
x_max: 0.01
|
||||
y_min: -0.0
|
||||
y_max: 0.0
|
||||
z_min: -0.03
|
||||
z_max: -0.03
|
||||
@@ -0,0 +1,166 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
right_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
left_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
right_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: pull_art_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
joint_position_range: [0.09, 0.12]
|
||||
info_name: "pull"
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
fix_base: True
|
||||
art_cat: art/storagefurniture_top
|
||||
|
||||
regions:
|
||||
-
|
||||
object: pull_art_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.40, 0.0, 0.0],
|
||||
[0.05, 0.15, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: lift2
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.8, -0.5],
|
||||
[0.025, -0.80, -0.4]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: lift2_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: False
|
||||
-
|
||||
name: lift2_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fr/link6"
|
||||
apply_randomization: False
|
||||
-
|
||||
name: lift2_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "lift2/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: False
|
||||
|
||||
data:
|
||||
task_dir: "pull_the_storagefurniture_left_arm_top"
|
||||
language_instruction: "Pull the storagefurniture with left arm."
|
||||
detailed_language_instruction: "Pull and open the storagefurniture with the left robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: open
|
||||
objects: [pull_art_left]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: OpenBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.07
|
||||
constraint_list:
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: link_contact_point
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis: object_link0_move_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
target_axis: object_link0_vertical_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: []
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["translate_x", 0.04], ["translate_y", -0.05], ["translate_y", -0.05], ["translate_y", -0.05], ["translate_y", -0.05], ["translate_y", -0.05], ["translate_y", -0.05], ["translate_y", -0.05]]
|
||||
|
||||
keypose_random_range:
|
||||
orientation:
|
||||
x_min: -5.0
|
||||
x_max: 5.0
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: -5.0
|
||||
z_max: 5.0
|
||||
position:
|
||||
x_min: -0.01
|
||||
x_max: 0.01
|
||||
y_min: -0.0
|
||||
y_max: 0.0
|
||||
z_min: -0.03
|
||||
z_max: -0.03
|
||||
@@ -0,0 +1,166 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
right_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
left_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
right_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: pull_art_right
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
joint_position_range: [0.09, 0.12]
|
||||
info_name: "pull"
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
fix_base: True
|
||||
art_cat: art/storagefurniture_bottom
|
||||
|
||||
regions:
|
||||
-
|
||||
object: pull_art_right
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.05, 0.0, 0.0],
|
||||
[0.40, 0.15, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: lift2
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.8, -0.7],
|
||||
[0.025, -0.80, -0.6]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: lift2_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: False
|
||||
-
|
||||
name: lift2_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fr/link6"
|
||||
apply_randomization: False
|
||||
-
|
||||
name: lift2_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "lift2/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: False
|
||||
|
||||
data:
|
||||
task_dir: "pull_the_storagefurniture_right_arm_bottom"
|
||||
language_instruction: "Pull the storagefurniture with right arm."
|
||||
detailed_language_instruction: "Pull and open the storagefurniture with the right robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
-
|
||||
right:
|
||||
-
|
||||
name: open
|
||||
objects: [pull_art_right]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: OpenBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.07
|
||||
constraint_list:
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: link_contact_point
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis: object_link0_move_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
target_axis: object_link0_vertical_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: []
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["translate_x", 0.04], ["translate_y", -0.05], ["translate_y", -0.05], ["translate_y", -0.05], ["translate_y", -0.05], ["translate_y", -0.05], ["translate_y", -0.05], ["translate_y", -0.05]]
|
||||
|
||||
keypose_random_range:
|
||||
orientation:
|
||||
x_min: -5.0
|
||||
x_max: 5.0
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: -5.0
|
||||
z_max: 5.0
|
||||
position:
|
||||
x_min: -0.01
|
||||
x_max: 0.01
|
||||
y_min: -0.0
|
||||
y_max: 0.0
|
||||
z_min: -0.03
|
||||
z_max: -0.03
|
||||
@@ -0,0 +1,166 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
right_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
left_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
right_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: pull_art_right
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
joint_position_range: [0.09, 0.12]
|
||||
info_name: "pull"
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
fix_base: True
|
||||
art_cat: art/storagefurniture_middle
|
||||
|
||||
regions:
|
||||
-
|
||||
object: pull_art_right
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.05, 0.0, 0.0],
|
||||
[0.40, 0.15, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: lift2
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.8, -0.6],
|
||||
[0.025, -0.80, -0.5]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: lift2_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: False
|
||||
-
|
||||
name: lift2_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fr/link6"
|
||||
apply_randomization: False
|
||||
-
|
||||
name: lift2_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "lift2/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: False
|
||||
|
||||
data:
|
||||
task_dir: "pull_the_storagefurniture_right_arm_middle"
|
||||
language_instruction: "Pull the storagefurniture with right arm."
|
||||
detailed_language_instruction: "Pull and open the storagefurniture with the right robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
-
|
||||
right:
|
||||
-
|
||||
name: open
|
||||
objects: [pull_art_right]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: OpenBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.07
|
||||
constraint_list:
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: link_contact_point
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis: object_link0_move_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
target_axis: object_link0_vertical_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: []
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["translate_x", 0.04], ["translate_y", -0.05], ["translate_y", -0.05], ["translate_y", -0.05], ["translate_y", -0.05], ["translate_y", -0.05], ["translate_y", -0.05], ["translate_y", -0.05]]
|
||||
|
||||
keypose_random_range:
|
||||
orientation:
|
||||
x_min: -5.0
|
||||
x_max: 5.0
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: -5.0
|
||||
z_max: 5.0
|
||||
position:
|
||||
x_min: -0.01
|
||||
x_max: 0.01
|
||||
y_min: -0.0
|
||||
y_max: 0.0
|
||||
z_min: -0.03
|
||||
z_max: -0.03
|
||||
@@ -0,0 +1,166 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
right_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
left_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
right_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: pull_art_right
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
joint_position_range: [0.09, 0.12]
|
||||
info_name: "pull"
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
fix_base: True
|
||||
art_cat: art/storagefurniture_top
|
||||
|
||||
regions:
|
||||
-
|
||||
object: pull_art_right
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.05, 0.0, 0.0],
|
||||
[0.40, 0.15, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: lift2
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.8, -0.5],
|
||||
[0.025, -0.80, -0.4]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: lift2_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: False
|
||||
-
|
||||
name: lift2_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fr/link6"
|
||||
apply_randomization: False
|
||||
-
|
||||
name: lift2_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "lift2/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: False
|
||||
|
||||
data:
|
||||
task_dir: "pull_the_storagefurniture_right_arm_top"
|
||||
language_instruction: "Pull the storagefurniture with right arm."
|
||||
detailed_language_instruction: "Pull and open the storagefurniture with the right robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
-
|
||||
right:
|
||||
-
|
||||
name: open
|
||||
objects: [pull_art_right]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: OpenBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.07
|
||||
constraint_list:
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: link_contact_point
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis: object_link0_move_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
target_axis: object_link0_vertical_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: []
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["translate_x", 0.04], ["translate_y", -0.05], ["translate_y", -0.05], ["translate_y", -0.05], ["translate_y", -0.05], ["translate_y", -0.05], ["translate_y", -0.05], ["translate_y", -0.05]]
|
||||
|
||||
keypose_random_range:
|
||||
orientation:
|
||||
x_min: -5.0
|
||||
x_max: 5.0
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: -5.0
|
||||
z_max: 5.0
|
||||
position:
|
||||
x_min: -0.01
|
||||
x_max: 0.01
|
||||
y_min: -0.0
|
||||
y_max: 0.0
|
||||
z_min: -0.03
|
||||
z_max: -0.03
|
||||
@@ -0,0 +1,166 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
right_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
left_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
right_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: push_art_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
joint_position_range: [0.10, 0.175]
|
||||
info_name: "push"
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
fix_base: True
|
||||
art_cat: art/storagefurniture_bottom
|
||||
|
||||
regions:
|
||||
-
|
||||
object: push_art_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.40, -0.025, 0.0],
|
||||
[0.05, 0.125, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: lift2
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.8, -0.7],
|
||||
[0.025, -0.80, -0.6]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: lift2_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: False
|
||||
-
|
||||
name: lift2_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fr/link6"
|
||||
apply_randomization: False
|
||||
-
|
||||
name: lift2_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "lift2/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: False
|
||||
|
||||
data:
|
||||
task_dir: "push_the_storagefurniture_left_arm_bottom"
|
||||
language_instruction: "Push the storagefurniture with left arm."
|
||||
detailed_language_instruction: "Push and close the storagefurniture with the left robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: close
|
||||
objects: [push_art_left]
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.01
|
||||
constraint_list:
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: link_contact_point
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis: object_link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_tail
|
||||
axis_to_keypoint_name: tool_head
|
||||
target_axis: object_link0_move_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_move_axis
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [["translate_x", -0.05]] # ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["translate_x", 0.15],["translate_x", 0.05],["translate_x", 0.05],["translate_x", 0.05],["translate_x", 0.05],["translate_x", 0.05],["translate_x", 0.05],["translate_x", 0.05]] # ["translate_z", 0.08],
|
||||
|
||||
# in link8 frame, in degree, in metre
|
||||
keypose_random_range:
|
||||
orientation:
|
||||
x_min: -45
|
||||
x_max: 45
|
||||
y_min: -3
|
||||
y_max: 3
|
||||
z_min: -5
|
||||
z_max: 5
|
||||
position:
|
||||
x_min: -0.02
|
||||
x_max: 0.0
|
||||
y_min: -0.03
|
||||
y_max: 0.03
|
||||
z_min: -0.005
|
||||
z_max: 0.005
|
||||
@@ -0,0 +1,166 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
right_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
left_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
right_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: push_art_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
joint_position_range: [0.10, 0.175]
|
||||
info_name: "push"
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
fix_base: True
|
||||
art_cat: art/storagefurniture_middle
|
||||
|
||||
regions:
|
||||
-
|
||||
object: push_art_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.40, -0.025, 0.0],
|
||||
[0.05, 0.125, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: lift2
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.8, -0.6],
|
||||
[0.025, -0.80, -0.5]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: lift2_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: False
|
||||
-
|
||||
name: lift2_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fr/link6"
|
||||
apply_randomization: False
|
||||
-
|
||||
name: lift2_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "lift2/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: False
|
||||
|
||||
data:
|
||||
task_dir: "push_the_storagefurniture_left_arm_middle"
|
||||
language_instruction: "Push the storagefurniture with left arm."
|
||||
detailed_language_instruction: "Push and close the storagefurniture with the left robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: close
|
||||
objects: [push_art_left]
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.01
|
||||
constraint_list:
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: link_contact_point
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis: object_link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_tail
|
||||
axis_to_keypoint_name: tool_head
|
||||
target_axis: object_link0_move_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_move_axis
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [["translate_x", -0.05]] # ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["translate_x", 0.15],["translate_x", 0.05],["translate_x", 0.05],["translate_x", 0.05],["translate_x", 0.05],["translate_x", 0.05],["translate_x", 0.05],["translate_x", 0.05]] # ["translate_z", 0.08],
|
||||
|
||||
# in link8 frame, in degree, in metre
|
||||
keypose_random_range:
|
||||
orientation:
|
||||
x_min: -45
|
||||
x_max: 45
|
||||
y_min: -3
|
||||
y_max: 3
|
||||
z_min: -5
|
||||
z_max: 5
|
||||
position:
|
||||
x_min: -0.02
|
||||
x_max: 0.0
|
||||
y_min: -0.03
|
||||
y_max: 0.03
|
||||
z_min: -0.005
|
||||
z_max: 0.005
|
||||
@@ -0,0 +1,166 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
right_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
left_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
right_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: push_art_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
joint_position_range: [0.10, 0.175]
|
||||
info_name: "push"
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
fix_base: True
|
||||
art_cat: art/storagefurniture_top
|
||||
|
||||
regions:
|
||||
-
|
||||
object: push_art_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.40, -0.025, 0.0],
|
||||
[0.05, 0.125, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: lift2
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.8, -0.5],
|
||||
[0.025, -0.80, -0.4]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: lift2_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: False
|
||||
-
|
||||
name: lift2_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fr/link6"
|
||||
apply_randomization: False
|
||||
-
|
||||
name: lift2_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "lift2/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: False
|
||||
|
||||
data:
|
||||
task_dir: "push_the_storagefurniture_left_arm_top"
|
||||
language_instruction: "Push the storagefurniture with left arm."
|
||||
detailed_language_instruction: "Push and close the storagefurniture with the left robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: close
|
||||
objects: [push_art_left]
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.01
|
||||
constraint_list:
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: link_contact_point
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis: object_link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_tail
|
||||
axis_to_keypoint_name: tool_head
|
||||
target_axis: object_link0_move_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_move_axis
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [["translate_x", -0.05]] # ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["translate_x", 0.15],["translate_x", 0.05],["translate_x", 0.05],["translate_x", 0.05],["translate_x", 0.05],["translate_x", 0.05],["translate_x", 0.05],["translate_x", 0.05]] # ["translate_z", 0.08],
|
||||
|
||||
# in link8 frame, in degree, in metre
|
||||
keypose_random_range:
|
||||
orientation:
|
||||
x_min: -45
|
||||
x_max: 45
|
||||
y_min: -3
|
||||
y_max: 3
|
||||
z_min: -5
|
||||
z_max: 5
|
||||
position:
|
||||
x_min: -0.02
|
||||
x_max: 0.0
|
||||
y_min: -0.03
|
||||
y_max: 0.03
|
||||
z_min: -0.005
|
||||
z_max: 0.005
|
||||
@@ -0,0 +1,166 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
right_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
left_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
right_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: push_art_right
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
joint_position_range: [0.10, 0.175]
|
||||
info_name: "push"
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
fix_base: True
|
||||
art_cat: art/storagefurniture_bottom
|
||||
|
||||
regions:
|
||||
-
|
||||
object: push_art_right
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.05, -0.025, 0.0],
|
||||
[0.40, 0.125, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: lift2
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.8, -0.7],
|
||||
[0.025, -0.80, -0.6]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: lift2_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: False
|
||||
-
|
||||
name: lift2_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fr/link6"
|
||||
apply_randomization: False
|
||||
-
|
||||
name: lift2_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "lift2/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: False
|
||||
|
||||
data:
|
||||
task_dir: "push_the_storagefurniture_right_arm_bottom"
|
||||
language_instruction: "Push the storagefurniture with right arm."
|
||||
detailed_language_instruction: "Push and close the storagefurniture with the right robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
-
|
||||
right:
|
||||
-
|
||||
name: close
|
||||
objects: [push_art_right]
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.01
|
||||
constraint_list:
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: link_contact_point
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis: object_link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_tail
|
||||
axis_to_keypoint_name: tool_head
|
||||
target_axis: object_link0_move_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_move_axis
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [["translate_x", -0.05]] # ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["translate_x", 0.15],["translate_x", 0.05],["translate_x", 0.05],["translate_x", 0.05],["translate_x", 0.05],["translate_x", 0.05],["translate_x", 0.05],["translate_x", 0.05]] # ["translate_z", 0.08],
|
||||
|
||||
# in link8 frame, in degree, in metre
|
||||
keypose_random_range:
|
||||
orientation:
|
||||
x_min: -45
|
||||
x_max: 45
|
||||
y_min: -3
|
||||
y_max: 3
|
||||
z_min: -5
|
||||
z_max: 5
|
||||
position:
|
||||
x_min: -0.02
|
||||
x_max: 0.0
|
||||
y_min: -0.03
|
||||
y_max: 0.03
|
||||
z_min: -0.005
|
||||
z_max: 0.005
|
||||
@@ -0,0 +1,166 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
right_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
left_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
right_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: push_art_right
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
joint_position_range: [0.10, 0.175]
|
||||
info_name: "push"
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
fix_base: True
|
||||
art_cat: art/storagefurniture_middle
|
||||
|
||||
regions:
|
||||
-
|
||||
object: push_art_right
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.05, -0.025, 0.0],
|
||||
[0.40, 0.125, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: lift2
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.8, -0.6],
|
||||
[0.025, -0.80, -0.5]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: lift2_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: False
|
||||
-
|
||||
name: lift2_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fr/link6"
|
||||
apply_randomization: False
|
||||
-
|
||||
name: lift2_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "lift2/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: False
|
||||
|
||||
data:
|
||||
task_dir: "push_the_storagefurniture_right_arm_middle"
|
||||
language_instruction: "Push the storagefurniture with right arm."
|
||||
detailed_language_instruction: "Push and close the storagefurniture with the right robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
-
|
||||
right:
|
||||
-
|
||||
name: close
|
||||
objects: [push_art_right]
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.01
|
||||
constraint_list:
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: link_contact_point
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis: object_link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_tail
|
||||
axis_to_keypoint_name: tool_head
|
||||
target_axis: object_link0_move_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_move_axis
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [["translate_x", -0.05]] # ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["translate_x", 0.15],["translate_x", 0.05],["translate_x", 0.05],["translate_x", 0.05],["translate_x", 0.05],["translate_x", 0.05],["translate_x", 0.05],["translate_x", 0.05]] # ["translate_z", 0.08],
|
||||
|
||||
# in link8 frame, in degree, in metre
|
||||
keypose_random_range:
|
||||
orientation:
|
||||
x_min: -45
|
||||
x_max: 45
|
||||
y_min: -3
|
||||
y_max: 3
|
||||
z_min: -5
|
||||
z_max: 5
|
||||
position:
|
||||
x_min: -0.02
|
||||
x_max: 0.0
|
||||
y_min: -0.03
|
||||
y_max: 0.03
|
||||
z_min: -0.005
|
||||
z_max: 0.005
|
||||
@@ -0,0 +1,166 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
right_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
left_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
right_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: push_art_right
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
joint_position_range: [0.10, 0.175]
|
||||
info_name: "push"
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
fix_base: True
|
||||
art_cat: art/storagefurniture_top
|
||||
|
||||
regions:
|
||||
-
|
||||
object: push_art_right
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.05, -0.025, 0.0],
|
||||
[0.40, 0.125, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: lift2
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.8, -0.5],
|
||||
[0.025, -0.80, -0.4]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: lift2_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: False
|
||||
-
|
||||
name: lift2_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fr/link6"
|
||||
apply_randomization: False
|
||||
-
|
||||
name: lift2_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "lift2/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: False
|
||||
|
||||
data:
|
||||
task_dir: "push_the_storagefurniture_right_arm_top"
|
||||
language_instruction: "Push the storagefurniture with right arm."
|
||||
detailed_language_instruction: "Push and close the storagefurniture with the right robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
-
|
||||
right:
|
||||
-
|
||||
name: close
|
||||
objects: [push_art_right]
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.01
|
||||
constraint_list:
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: link_contact_point
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis: object_link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_tail
|
||||
axis_to_keypoint_name: tool_head
|
||||
target_axis: object_link0_move_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_move_axis
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [["translate_x", -0.05]] # ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["translate_x", 0.15],["translate_x", 0.05],["translate_x", 0.05],["translate_x", 0.05],["translate_x", 0.05],["translate_x", 0.05],["translate_x", 0.05],["translate_x", 0.05]] # ["translate_z", 0.08],
|
||||
|
||||
# in link8 frame, in degree, in metre
|
||||
keypose_random_range:
|
||||
orientation:
|
||||
x_min: -45
|
||||
x_max: 45
|
||||
y_min: -3
|
||||
y_max: 3
|
||||
z_min: -5
|
||||
z_max: 5
|
||||
position:
|
||||
x_min: -0.02
|
||||
x_max: 0.0
|
||||
y_min: -0.03
|
||||
y_max: 0.03
|
||||
z_min: -0.005
|
||||
z_max: 0.005
|
||||
@@ -0,0 +1,174 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "split_aloha"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/split_aloha.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
right_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
left_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
right_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: close_v_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
info_name: "close_v"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [0.78, 0.875]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
art_cat: "art/microwave_gr"
|
||||
|
||||
regions:
|
||||
-
|
||||
object: close_v_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.30, -0.05, 0.0],
|
||||
[0.05, 0.15, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: split_aloha
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.0, -0.86, -0.765],
|
||||
[0.0, -0.86, -0.765]
|
||||
]
|
||||
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" # todo
|
||||
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" # todo
|
||||
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" # todo: robot base frame
|
||||
|
||||
data:
|
||||
task_dir: "close_the_microwave_part0"
|
||||
language_instruction: "Close the microwave with left arm."
|
||||
detailed_language_instruction: "Close the microwave door with the left robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
split_aloha:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: close
|
||||
objects: [close_v_left]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.08
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.0001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge_door
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.005
|
||||
target_inner_product: 0.7
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [ ["translate_z", -0.05]] # ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [ ["rotate",0.15],["rotate",0.15], ["rotate",0.15], ["rotate",0.1], ["rotate",0.1],["rotate",0.1], ["rotate",0.1], ["rotate",0.1], ["rotate",0.1],["rotate",0.1],["rotate",0.05], ["rotate",0.05]] # ["translate_z", 0.08],
|
||||
# post_actuation_motions: [ ["rotate",0.1],["rotate",0.1], ["rotate",0.1], ["rotate",0.1], ["rotate",0.1],["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05]] # ["translate_z", 0.08],
|
||||
|
||||
# in link8 frame, in degree, in metre
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: -3
|
||||
x_max: 3
|
||||
y_min: -3
|
||||
y_max: 3
|
||||
z_min: -30
|
||||
z_max: 30
|
||||
position:
|
||||
x_min: 0.0 # -0.1
|
||||
x_max: 0.1 # 0.0
|
||||
y_min: -0.05 # -0.02
|
||||
y_max: 0.0 # 0.0
|
||||
z_min: -0.02 # -0.05
|
||||
z_max: 0.0 # 0.0
|
||||
@@ -0,0 +1,174 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "split_aloha"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/split_aloha.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
right_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
left_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
right_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: close_v_right
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
info_name: "close_v"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [0.78, 0.875]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
art_cat: "art/microwave_gr"
|
||||
|
||||
regions:
|
||||
-
|
||||
object: close_v_right
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.05, 0.0, 0.0],
|
||||
[0.30, 0.15, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: split_aloha
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.86, -0.765],
|
||||
[0.025, -0.86, -0.765]
|
||||
]
|
||||
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" # todo
|
||||
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" # todo
|
||||
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" # todo: robot base frame
|
||||
|
||||
data:
|
||||
task_dir: "close_the_microwave_part1"
|
||||
language_instruction: "Close the microwave with right arm."
|
||||
detailed_language_instruction: "Close the microwave door with the right robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
split_aloha:
|
||||
-
|
||||
right:
|
||||
-
|
||||
name: close
|
||||
objects: [close_v_right]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.08
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.0001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge_door
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.005
|
||||
target_inner_product: 0.7
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [ ["translate_z", -0.05]] # ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [ ["rotate",0.15],["rotate",0.15], ["rotate",0.15], ["rotate",0.1], ["rotate",0.1],["rotate",0.1], ["rotate",0.1], ["rotate",0.1], ["rotate",0.1],["rotate",0.1],["rotate",0.05], ["rotate",0.05]] # ["translate_z", 0.08],
|
||||
# post_actuation_motions: [ ["rotate",0.1],["rotate",0.1], ["rotate",0.1], ["rotate",0.1], ["rotate",0.1],["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05], ["rotate",0.05]] # ["translate_z", 0.08],
|
||||
|
||||
# in link8 frame, in degree, in metre
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: -3
|
||||
x_max: 3
|
||||
y_min: -3
|
||||
y_max: 3
|
||||
z_min: -30
|
||||
z_max: 30
|
||||
position:
|
||||
x_min: 0.0 # -0.1
|
||||
x_max: 0.1 # 0.0
|
||||
y_min: -0.05 # -0.02
|
||||
y_max: 0.0 # 0.0
|
||||
z_min: -0.02 # -0.05
|
||||
z_max: 0.0 # 0.0
|
||||
@@ -0,0 +1,180 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "split_aloha"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/split_aloha.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
# left_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
# right_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
# left_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
# right_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: close_h_down_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: grutopia
|
||||
info_name: "close_h_down"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [0.30, 0.30]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
art_cat: "art/oven"
|
||||
|
||||
regions:
|
||||
-
|
||||
object: close_h_down_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.25, 0.05, 0.005],
|
||||
[0.05, 0.15, 0.005]
|
||||
]
|
||||
yaw_rotation: [-10, 10]
|
||||
-
|
||||
object: split_aloha
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.86, -0.9],
|
||||
[0.025, -0.86, -0.80]
|
||||
]
|
||||
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" # todo
|
||||
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" # todo
|
||||
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" # todo: robot base frame
|
||||
|
||||
data:
|
||||
task_dir: "close_the_oven_part0"
|
||||
language_instruction: "Close the oven with left arm."
|
||||
detailed_language_instruction: "Close the oven door with the left robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
split_aloha:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: close
|
||||
objects: [close_h_down_left]
|
||||
collision_valid: False
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.03
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.001 # 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis_from_keypoint_name: articulated_object_head
|
||||
target_axis_to_keypoint_name: articulated_object_tail
|
||||
target_axis_frame: object
|
||||
tolerance: 0.05
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_axis_computed_by_keypoints
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.5 # 0.05
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [["translate_z", -0.045]] # 0.03 ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [
|
||||
["rotate", 0.5],
|
||||
["rotate", 0.3],
|
||||
["rotate", 0.2],
|
||||
["rotate", 0.1],
|
||||
["rotate", 0.1],
|
||||
["rotate", 0.1],
|
||||
["rotate", 0.1],
|
||||
] # ["translate_z", 0.08],
|
||||
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: 0
|
||||
x_max: 0
|
||||
y_min: 0
|
||||
y_max: 0
|
||||
z_min: 0
|
||||
z_max: 0
|
||||
position:
|
||||
x_min: -0.03
|
||||
x_max: 0.03
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: -0.03
|
||||
z_max: 0
|
||||
@@ -0,0 +1,180 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "split_aloha"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/split_aloha.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
# left_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
# right_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
# left_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
# right_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: close_h_down_right
|
||||
target_class: ArticulatedObject
|
||||
dataset: grutopia
|
||||
info_name: "close_h_down"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [0.30, 0.30]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
art_cat: "art/oven"
|
||||
|
||||
regions:
|
||||
-
|
||||
object: close_h_down_right
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.05, 0.05, 0.005],
|
||||
[0.25, 0.15, 0.005]
|
||||
]
|
||||
yaw_rotation: [-10, 10]
|
||||
-
|
||||
object: split_aloha
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.86, -0.9],
|
||||
[0.025, -0.86, -0.80]
|
||||
]
|
||||
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" # todo
|
||||
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" # todo
|
||||
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" # todo: robot base frame
|
||||
|
||||
data:
|
||||
task_dir: "close_the_oven_part1"
|
||||
language_instruction: "Close the oven with right arm."
|
||||
detailed_language_instruction: "Close the oven door with the right robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
split_aloha:
|
||||
-
|
||||
right:
|
||||
-
|
||||
name: close
|
||||
objects: [close_h_down_right]
|
||||
collision_valid: False
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.03
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.001 # 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis_from_keypoint_name: articulated_object_head
|
||||
target_axis_to_keypoint_name: articulated_object_tail
|
||||
target_axis_frame: object
|
||||
tolerance: 0.05
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_axis_computed_by_keypoints
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.5 # 0.05
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [["translate_z", -0.045]] # 0.03 ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [
|
||||
["rotate", 0.5],
|
||||
["rotate", 0.3],
|
||||
["rotate", 0.2],
|
||||
["rotate", 0.1],
|
||||
["rotate", 0.1],
|
||||
["rotate", 0.1],
|
||||
["rotate", 0.1],
|
||||
] # ["translate_z", 0.08],
|
||||
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: 0
|
||||
x_max: 0
|
||||
y_min: 0
|
||||
y_max: 0
|
||||
z_min: 0
|
||||
z_max: 0
|
||||
position:
|
||||
x_min: -0.03
|
||||
x_max: 0.03
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: -0.03
|
||||
z_max: 0
|
||||
@@ -0,0 +1,174 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "split_aloha"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/split_aloha.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
# left_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
# right_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
# left_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
# right_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: open_v_handle_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: grutopia
|
||||
info_name: "open_v_handle"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [0.05, 0.05]
|
||||
apply_randomization: False
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
fix_base: True
|
||||
art_cat: "art/handle_objs/open_v_handle/microwave"
|
||||
|
||||
regions:
|
||||
-
|
||||
object: open_v_handle_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.25, 0.05, 0.005],
|
||||
[0.05, 0.15, 0.005]
|
||||
]
|
||||
yaw_rotation: [-10, 10]
|
||||
-
|
||||
object: split_aloha
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.86, -0.9],
|
||||
[0.025, -0.86, -0.80]
|
||||
]
|
||||
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" # todo
|
||||
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" # todo
|
||||
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" # todo: robot base frame
|
||||
|
||||
data:
|
||||
task_dir: "grasp_the_microwave_handl_part0"
|
||||
language_instruction: "Grasp the microwave handle and open it with left arm."
|
||||
detailed_language_instruction: "Grab the handle of the microwave door and swing it open horizontally with the left robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
split_aloha:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: open
|
||||
objects: [open_v_handle_left]
|
||||
collision_valid: False
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: OpenBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.52
|
||||
success_mode: abs
|
||||
# update_art_joint: True
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis_from_keypoint_name: articulated_object_head
|
||||
target_axis_to_keypoint_name: articulated_object_tail
|
||||
target_axis_frame: object
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_axis_computed_by_keypoints
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.6
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [["translate_z", -0.03]]
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["rotate", -0.15], ["rotate", -0.15], ["rotate", -0.15], ["rotate", -0.15], ["rotate", -0.1], ["rotate", -0.1]]
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: 0.0
|
||||
z_max: 0.0
|
||||
position:
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: 0.0
|
||||
z_max: 0.0
|
||||
@@ -0,0 +1,174 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "split_aloha"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/split_aloha.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
# left_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
# right_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
# left_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
# right_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: open_v_handle_right
|
||||
target_class: ArticulatedObject
|
||||
dataset: grutopia
|
||||
info_name: "open_v_handle"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [0.05, 0.05]
|
||||
apply_randomization: False
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
fix_base: True
|
||||
art_cat: "art/handle_objs/open_v_handle/microwave"
|
||||
|
||||
regions:
|
||||
-
|
||||
object: open_v_handle_right
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.05, 0.05, 0.005],
|
||||
[0.25, 0.15, 0.005]
|
||||
]
|
||||
yaw_rotation: [-10, 10]
|
||||
-
|
||||
object: split_aloha
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.86, -0.9],
|
||||
[0.025, -0.86, -0.80]
|
||||
]
|
||||
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" # todo
|
||||
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" # todo
|
||||
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" # todo: robot base frame
|
||||
|
||||
data:
|
||||
task_dir: "grasp_the_microwave_handl_part1"
|
||||
language_instruction: "Grasp the microwave handle and open it with right arm."
|
||||
detailed_language_instruction: "Grab the handle of the microwave door and swing it open horizontally with the right robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
split_aloha:
|
||||
-
|
||||
right:
|
||||
-
|
||||
name: open
|
||||
objects: [open_v_handle_right]
|
||||
collision_valid: False
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: OpenBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.52
|
||||
success_mode: abs
|
||||
# update_art_joint: True
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis_from_keypoint_name: articulated_object_head
|
||||
target_axis_to_keypoint_name: articulated_object_tail
|
||||
target_axis_frame: object
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_axis_computed_by_keypoints
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.6
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [["translate_z", -0.03]]
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["rotate", -0.15], ["rotate", -0.15], ["rotate", -0.15], ["rotate", -0.15], ["rotate", -0.1], ["rotate", -0.1]]
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: 0.0
|
||||
z_max: 0.0
|
||||
position:
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: 0.0
|
||||
z_max: 0.0
|
||||
@@ -0,0 +1,169 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "split_aloha"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/split_aloha.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
right_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
left_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
right_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: open_v_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
info_name: "open_v"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [0.38, 0.38]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
art_cat: "art/microwave_gr"
|
||||
|
||||
regions:
|
||||
-
|
||||
object: open_v_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.30, 0.0, 0.0],
|
||||
[0.05, 0.15, 0.0]
|
||||
]
|
||||
yaw_rotation: [-20, 20]
|
||||
-
|
||||
object: split_aloha
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.0, -0.86, -0.765],
|
||||
[0.0, -0.86, -0.765]
|
||||
]
|
||||
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" # todo
|
||||
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" # todo
|
||||
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" # todo: robot base frame
|
||||
|
||||
data:
|
||||
task_dir: "open_the_microwave_part0"
|
||||
language_instruction: "Open the microwave with left arm."
|
||||
detailed_language_instruction: "Grab the upper part of the microwave door and swing it open with the left robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
split_aloha:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: open
|
||||
objects: [open_v_left]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: OpenBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.52
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.0005
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: []
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["translate_z", 0.04], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.1], ["rotate", -0.1]]
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: 0.0
|
||||
z_max: 0.0
|
||||
position:
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: 0.0
|
||||
z_max: 0.0
|
||||
@@ -0,0 +1,168 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "split_aloha"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/split_aloha.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
right_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
left_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
right_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: open_v_right
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
info_name: "open_v"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [0.38, 0.38]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
art_cat: "art/microwave_gr"
|
||||
|
||||
regions:
|
||||
-
|
||||
object: open_v_right
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.05, 0.0, 0.0],
|
||||
[0.30, 0.15, 0.0]
|
||||
]
|
||||
yaw_rotation: [-20, 20]
|
||||
-
|
||||
object: split_aloha
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.0, -0.86, -0.765],
|
||||
[0.0, -0.86, -0.765]
|
||||
]
|
||||
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" # todo
|
||||
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" # todo
|
||||
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" # todo: robot base frame
|
||||
|
||||
data:
|
||||
task_dir: "open_the_microwave_part1"
|
||||
language_instruction: "Open the microwave with right arm."
|
||||
detailed_language_instruction: "Grab the upper part of the microwave door and swing it open with the right robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
split_aloha:
|
||||
-
|
||||
right:
|
||||
-
|
||||
name: open
|
||||
objects: [open_v_right]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: OpenBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.52
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: []
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["translate_z", 0.04], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.2], ["rotate", -0.1], ["rotate", -0.1],["rotate", -0.1], ["rotate", -0.1]]
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: 0.0
|
||||
z_max: 0.0
|
||||
position:
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: 0.0
|
||||
z_max: 0.0
|
||||
@@ -0,0 +1,243 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "split_aloha"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/split_aloha.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
||||
right_joint_home: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
||||
# left_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
# right_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
# constrain_grasp_approach: True
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: microwave
|
||||
target_class: ArticulatedObject
|
||||
dataset: oo3d
|
||||
joint_position_range: [0.2, 0.2]
|
||||
info_name: "open_v_handle"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.007926725892163465,
|
||||
0.007926725892163465,
|
||||
0.007926725892163465,]
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
art_cat: art/open_the_microwave_from_scratch/microwave
|
||||
|
||||
regions:
|
||||
-
|
||||
object: microwave
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.10, 0.15, 0.05],
|
||||
[0.05, 0.25, 0.05]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: split_aloha
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.0, -0.86, -0.765],
|
||||
[0.0, -0.86, -0.765]
|
||||
]
|
||||
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" # todo
|
||||
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" # todo
|
||||
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" # todo: robot base frame
|
||||
|
||||
data:
|
||||
task_dir: "open_the_microwave_from_scratch"
|
||||
language_instruction: "Open the microwave."
|
||||
detailed_language_instruction: "Open the microwave."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480"
|
||||
update: True
|
||||
max_episode_length: 4000
|
||||
|
||||
skills:
|
||||
-
|
||||
split_aloha:
|
||||
-
|
||||
right:
|
||||
-
|
||||
name: open
|
||||
objects: [microwave]
|
||||
collision_valid: False
|
||||
planner_setting:
|
||||
task_name: OpenBox
|
||||
category_name: Articulated
|
||||
update_art_joint: True
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.2
|
||||
success_mode: "abs"
|
||||
constraint_list:
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis_from_keypoint_name: articulated_object_head
|
||||
target_axis_to_keypoint_name: articulated_object_tail
|
||||
target_axis_frame: object
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_axis_computed_by_keypoints
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.5
|
||||
target_inner_product: 0.7
|
||||
type: frame_axis_parallel
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
pre_actuation_motions: [["translate_z", -0.07]]
|
||||
post_actuation_motions: [["rotate", -0.15], ["rotate", -0.15], ["rotate", -0.15], ["rotate", -0.15], ["rotate", -0.1], ["rotate", -0.1]]
|
||||
keypose_random_range:
|
||||
orientation:
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: 0.0
|
||||
z_max: 0.0
|
||||
position:
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: 0.0
|
||||
z_max: 0.0
|
||||
-
|
||||
name: gripper__action
|
||||
gripper_state: 1 # Open
|
||||
-
|
||||
name: heuristic__skill
|
||||
mode: home
|
||||
gripper_state: 1.0 # Open gripper
|
||||
|
||||
-
|
||||
name: open
|
||||
objects: [microwave]
|
||||
obj_info_path: art/open_the_microwave_from_scratch/microwave/microwave_0013/Kps/open_v_inner/info.json
|
||||
collision_valid: False
|
||||
planner_setting:
|
||||
task_name: OpenBox
|
||||
category_name: Articulated
|
||||
success_mode: "abs"
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.3
|
||||
constraint_list:
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -0.7
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: hand_parallel_to_link0_edge_door
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -0.7
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
contact_pose_index: 2
|
||||
pre_actuation_motions: [["rotate", 0.15]] #[["translate_y", 0.05]]
|
||||
post_actuation_motions: [["rotate", -0.15], ["rotate", -0.15], ["rotate", -0.1], ["rotate", -0.1], ["rotate", -0.05], ["rotate", -0.05], ["rotate", -0.05], ["rotate", -0.05], ["rotate", -0.05]]
|
||||
keypose_random_range:
|
||||
orientation:
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: 0.0
|
||||
z_max: 0.0
|
||||
position:
|
||||
x_min: 0.0
|
||||
x_max: 0.03
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: 0.0
|
||||
z_max: 0.03
|
||||
-
|
||||
name: gripper__action
|
||||
gripper_state: 1 # Open
|
||||
-
|
||||
name: heuristic__skill
|
||||
mode: home
|
||||
gripper_state: 1.0 # Open gripper
|
||||
@@ -0,0 +1,178 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "split_aloha"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/split_aloha.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
# left_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
# right_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
# left_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
# right_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: open_h_handle_down_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: grutopia
|
||||
info_name: "open_h_down_handle"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [-0.05, -0.05]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
art_cat: "art/oven"
|
||||
|
||||
regions:
|
||||
-
|
||||
object: open_h_handle_down_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.25, 0.05, 0.005],
|
||||
[0.05, 0.15, 0.005]
|
||||
]
|
||||
yaw_rotation: [-10, 10]
|
||||
-
|
||||
object: split_aloha
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.86, -0.9],
|
||||
[0.025, -0.86, -0.80]
|
||||
]
|
||||
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" # todo
|
||||
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" # todo
|
||||
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" # todo: robot base frame
|
||||
|
||||
data:
|
||||
task_dir: "open_the_oven_part0"
|
||||
language_instruction: "Open the oven with left arm."
|
||||
detailed_language_instruction: "Grab the handle of the oven door and swing it open by 30 degrees with the left robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
split_aloha:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: open
|
||||
objects: [open_h_handle_down_left]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: OpenBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.2
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
# - axis_from_keypoint_name: tool_head
|
||||
# axis_to_keypoint_name: tool_side
|
||||
# target_axis_from_keypoint_name: articulated_object_head
|
||||
# target_axis_to_keypoint_name: articulated_object_tail
|
||||
# target_axis_frame: object
|
||||
# tolerance: 0.0005
|
||||
# target_inner_product: -1
|
||||
# type: frame_axis_parallel
|
||||
# name: hand_parallel_to_axis_computed_by_keypoints
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.3
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [["translate_z", -0.03]]
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["rotate", -0.15], ["rotate", -0.15], ["rotate", -0.15], ["rotate", -0.15], ["rotate", -0.1], ["rotate", -0.1]]
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: 0.0
|
||||
z_max: 0.0
|
||||
position:
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: 0.0
|
||||
z_max: 0.0
|
||||
@@ -0,0 +1,178 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "split_aloha"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/split_aloha.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
# left_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
# right_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
# left_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
# right_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: open_h_handle_down_right
|
||||
target_class: ArticulatedObject
|
||||
dataset: grutopia
|
||||
info_name: "open_h_down_handle"
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
joint_position_range: [-0.05, -0.05]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
art_cat: "art/oven"
|
||||
|
||||
regions:
|
||||
-
|
||||
object: open_h_handle_down_right
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.05, 0.05, 0.005],
|
||||
[0.25, 0.15, 0.005]
|
||||
]
|
||||
yaw_rotation: [-10, 10]
|
||||
-
|
||||
object: split_aloha
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.86, -0.9],
|
||||
[0.025, -0.86, -0.80]
|
||||
]
|
||||
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" # todo
|
||||
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" # todo
|
||||
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" # todo: robot base frame
|
||||
|
||||
data:
|
||||
task_dir: "open_the_oven_part1"
|
||||
language_instruction: "Open the oven with right arm."
|
||||
detailed_language_instruction: "Grab the handle of the oven door and swing it open by 30 degrees with the right robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
split_aloha:
|
||||
-
|
||||
right:
|
||||
-
|
||||
name: open
|
||||
objects: [open_h_handle_down_right]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: OpenBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.2
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: articulated_object_head
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
# - axis_from_keypoint_name: tool_head
|
||||
# axis_to_keypoint_name: tool_side
|
||||
# target_axis_from_keypoint_name: articulated_object_head
|
||||
# target_axis_to_keypoint_name: articulated_object_tail
|
||||
# target_axis_frame: object
|
||||
# tolerance: 0.0005
|
||||
# target_inner_product: -1
|
||||
# type: frame_axis_parallel
|
||||
# name: hand_parallel_to_axis_computed_by_keypoints
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
cross_target_axis1_from_keypoint_name: articulated_object_head
|
||||
cross_target_axis1_to_keypoint_name: articulated_object_tail
|
||||
target_axis: link0_contact_axis
|
||||
target_axis_frame: object # cross_target_axis2_frame
|
||||
tolerance: 0.3
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel # enforce parallelism via cross product constraint
|
||||
name: fingers_orthogonal_to_link0
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [["translate_z", -0.03]]
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["rotate", -0.15], ["rotate", -0.15], ["rotate", -0.15], ["rotate", -0.15], ["rotate", -0.1], ["rotate", -0.1]]
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: 0.0
|
||||
z_max: 0.0
|
||||
position:
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: 0.0
|
||||
y_max: 0.0
|
||||
z_min: 0.0
|
||||
z_max: 0.0
|
||||
@@ -0,0 +1,166 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "split_aloha"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/split_aloha.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
right_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
left_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
right_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: pull_art_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
joint_position_range: [0.09, 0.12]
|
||||
info_name: "pull"
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
fix_base: True
|
||||
art_cat: "art/storagefurniture_bottom"
|
||||
|
||||
regions:
|
||||
-
|
||||
object: pull_art_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.35, 0.0, 0.0],
|
||||
[0.05, 0.15, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: split_aloha
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.86, -0.8],
|
||||
[0.025, -0.86, -0.70]
|
||||
]
|
||||
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" # todo
|
||||
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" # todo
|
||||
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" # todo: robot base frame
|
||||
|
||||
data:
|
||||
task_dir: "pull_the_storagefurniture_left_arm_bottom"
|
||||
language_instruction: "Pull the storagefurniture with left arm."
|
||||
detailed_language_instruction: "Pull and open the storagefurniture with the left robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
split_aloha:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: open
|
||||
objects: [pull_art_left]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: OpenBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.07
|
||||
constraint_list:
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: link_contact_point
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis: object_link0_move_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
target_axis: object_link0_vertical_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: []
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["translate_z", 0.04], ["translate_x", -0.05], ["translate_x", -0.05], ["translate_x", -0.05], ["translate_x", -0.05], ["translate_x", -0.05], ["translate_x", -0.05], ["translate_x", -0.05]]
|
||||
|
||||
keypose_random_range:
|
||||
orientation:
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: -5.0
|
||||
y_max: 5.0
|
||||
z_min: -5.0
|
||||
z_max: 5.0
|
||||
position:
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: -0.03
|
||||
y_max: 0.03
|
||||
z_min: -0.01
|
||||
z_max: -0.01
|
||||
@@ -0,0 +1,166 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "split_aloha"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/split_aloha.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
right_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
left_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
right_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: pull_art_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
joint_position_range: [0.09, 0.12]
|
||||
info_name: "pull"
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
fix_base: True
|
||||
art_cat: "art/storagefurniture_middle"
|
||||
|
||||
regions:
|
||||
-
|
||||
object: pull_art_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.35, 0.0, 0.0],
|
||||
[0.05, 0.15, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: split_aloha
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.86, -0.7],
|
||||
[0.025, -0.86, -0.60]
|
||||
]
|
||||
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" # todo
|
||||
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" # todo
|
||||
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" # todo: robot base frame
|
||||
|
||||
data:
|
||||
task_dir: "pull_the_storagefurniture_left_arm_middle"
|
||||
language_instruction: "Pull the storagefurniture with left arm."
|
||||
detailed_language_instruction: "Pull and open the storagefurniture with the left robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
split_aloha:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: open
|
||||
objects: [pull_art_left]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: OpenBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.07
|
||||
constraint_list:
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: link_contact_point
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis: object_link0_move_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
target_axis: object_link0_vertical_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: []
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["translate_z", 0.04], ["translate_x", -0.05], ["translate_x", -0.05], ["translate_x", -0.05], ["translate_x", -0.05], ["translate_x", -0.05], ["translate_x", -0.05], ["translate_x", -0.05]]
|
||||
|
||||
keypose_random_range:
|
||||
orientation:
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: -5.0
|
||||
y_max: 5.0
|
||||
z_min: -5.0
|
||||
z_max: 5.0
|
||||
position:
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: -0.03
|
||||
y_max: 0.03
|
||||
z_min: -0.01
|
||||
z_max: -0.01
|
||||
@@ -0,0 +1,166 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "split_aloha"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/split_aloha.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
right_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
left_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
right_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: pull_art_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
joint_position_range: [0.09, 0.12]
|
||||
info_name: "pull"
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
fix_base: True
|
||||
art_cat: "art/storagefurniture_top"
|
||||
|
||||
regions:
|
||||
-
|
||||
object: pull_art_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.35, 0.0, 0.0],
|
||||
[0.05, 0.15, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: split_aloha
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.86, -0.6],
|
||||
[0.025, -0.86, -0.50]
|
||||
]
|
||||
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" # todo
|
||||
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" # todo
|
||||
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" # todo: robot base frame
|
||||
|
||||
data:
|
||||
task_dir: "pull_the_storagefurniture_left_arm_top"
|
||||
language_instruction: "Pull the storagefurniture with left arm."
|
||||
detailed_language_instruction: "Pull and open the storagefurniture with the left robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
split_aloha:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: open
|
||||
objects: [pull_art_left]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: OpenBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.07
|
||||
constraint_list:
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: link_contact_point
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis: object_link0_move_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
target_axis: object_link0_vertical_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: []
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["translate_z", 0.04], ["translate_x", -0.05], ["translate_x", -0.05], ["translate_x", -0.05], ["translate_x", -0.05], ["translate_x", -0.05], ["translate_x", -0.05], ["translate_x", -0.05]]
|
||||
|
||||
keypose_random_range:
|
||||
orientation:
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: -5.0
|
||||
y_max: 5.0
|
||||
z_min: -5.0
|
||||
z_max: 5.0
|
||||
position:
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: -0.03
|
||||
y_max: 0.03
|
||||
z_min: -0.01
|
||||
z_max: -0.01
|
||||
@@ -0,0 +1,166 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "split_aloha"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/split_aloha.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
right_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
left_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
right_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: pull_art_right
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
joint_position_range: [0.09, 0.12]
|
||||
info_name: "pull"
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
fix_base: True
|
||||
art_cat: "art/storagefurniture_bottom"
|
||||
|
||||
regions:
|
||||
-
|
||||
object: pull_art_right
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.05, 0.0, 0.0],
|
||||
[0.35, 0.15, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: split_aloha
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.86, -0.8],
|
||||
[0.025, -0.86, -0.70]
|
||||
]
|
||||
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" # todo
|
||||
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" # todo
|
||||
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" # todo: robot base frame
|
||||
|
||||
data:
|
||||
task_dir: "pull_the_storagefurniture_right_arm_bottom"
|
||||
language_instruction: "Pull the storagefurniture with right arm."
|
||||
detailed_language_instruction: "Pull and open the storagefurniture with the right robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
split_aloha:
|
||||
-
|
||||
right:
|
||||
-
|
||||
name: open
|
||||
objects: [pull_art_right]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: OpenBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.07
|
||||
constraint_list:
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: link_contact_point
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis: object_link0_move_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
target_axis: object_link0_vertical_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: []
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["translate_z", 0.04], ["translate_x", -0.05], ["translate_x", -0.05], ["translate_x", -0.05], ["translate_x", -0.05], ["translate_x", -0.05], ["translate_x", -0.05], ["translate_x", -0.05]]
|
||||
|
||||
keypose_random_range:
|
||||
orientation:
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: -5.0
|
||||
y_max: 5.0
|
||||
z_min: -5.0
|
||||
z_max: 5.0
|
||||
position:
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: -0.03
|
||||
y_max: 0.03
|
||||
z_min: -0.01
|
||||
z_max: -0.01
|
||||
@@ -0,0 +1,166 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "split_aloha"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/split_aloha.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
right_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
left_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
right_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: pull_art_right
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
joint_position_range: [0.09, 0.12]
|
||||
info_name: "pull"
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
fix_base: True
|
||||
art_cat: "art/storagefurniture_middle"
|
||||
|
||||
regions:
|
||||
-
|
||||
object: pull_art_right
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.05, 0.0, 0.0],
|
||||
[0.35, 0.15, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: split_aloha
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.86, -0.7],
|
||||
[0.025, -0.86, -0.60]
|
||||
]
|
||||
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" # todo
|
||||
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" # todo
|
||||
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" # todo: robot base frame
|
||||
|
||||
data:
|
||||
task_dir: "pull_the_storagefurniture_right_arm_middle"
|
||||
language_instruction: "Pull the storagefurniture with right arm."
|
||||
detailed_language_instruction: "Pull and open the storagefurniture with the right robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
split_aloha:
|
||||
-
|
||||
right:
|
||||
-
|
||||
name: open
|
||||
objects: [pull_art_right]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: OpenBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.07
|
||||
constraint_list:
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: link_contact_point
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis: object_link0_move_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
target_axis: object_link0_vertical_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: []
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["translate_z", 0.04], ["translate_x", -0.05], ["translate_x", -0.05], ["translate_x", -0.05], ["translate_x", -0.05], ["translate_x", -0.05], ["translate_x", -0.05], ["translate_x", -0.05]]
|
||||
|
||||
keypose_random_range:
|
||||
orientation:
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: -5.0
|
||||
y_max: 5.0
|
||||
z_min: -5.0
|
||||
z_max: 5.0
|
||||
position:
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: -0.03
|
||||
y_max: 0.03
|
||||
z_min: -0.01
|
||||
z_max: -0.01
|
||||
@@ -0,0 +1,166 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "split_aloha"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/split_aloha.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
right_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
left_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
right_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: pull_art_right
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
joint_position_range: [0.09, 0.12]
|
||||
info_name: "pull"
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
fix_base: True
|
||||
art_cat: "art/storagefurniture_top"
|
||||
|
||||
regions:
|
||||
-
|
||||
object: pull_art_right
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.05, 0.0, 0.0],
|
||||
[0.35, 0.15, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: split_aloha
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.86, -0.6],
|
||||
[0.025, -0.86, -0.50]
|
||||
]
|
||||
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" # todo
|
||||
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" # todo
|
||||
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" # todo: robot base frame
|
||||
|
||||
data:
|
||||
task_dir: "pull_the_storagefurniture_right_arm_top"
|
||||
language_instruction: "Pull the storagefurniture with right arm."
|
||||
detailed_language_instruction: "Pull and open the storagefurniture with the right robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
split_aloha:
|
||||
-
|
||||
right:
|
||||
-
|
||||
name: open
|
||||
objects: [pull_art_right]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: OpenBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.07
|
||||
constraint_list:
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: link_contact_point
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis: object_link0_move_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_tail
|
||||
target_axis: object_link0_vertical_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: []
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["translate_z", 0.04], ["translate_x", -0.05], ["translate_x", -0.05], ["translate_x", -0.05], ["translate_x", -0.05], ["translate_x", -0.05], ["translate_x", -0.05], ["translate_x", -0.05]]
|
||||
|
||||
keypose_random_range:
|
||||
orientation:
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: -5.0
|
||||
y_max: 5.0
|
||||
z_min: -5.0
|
||||
z_max: 5.0
|
||||
position:
|
||||
x_min: 0.0
|
||||
x_max: 0.0
|
||||
y_min: -0.03
|
||||
y_max: 0.03
|
||||
z_min: -0.01
|
||||
z_max: -0.01
|
||||
@@ -0,0 +1,169 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "split_aloha"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/split_aloha.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
right_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
left_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
right_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: push_art_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
joint_position_range: [0.10, 0.20]
|
||||
info_name: "push"
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
fix_base: True
|
||||
art_cat: "art/storagefurniture_bottom"
|
||||
|
||||
regions:
|
||||
-
|
||||
object: push_art_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.35, -0.025, 0.0],
|
||||
[0.05, 0.125, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: split_aloha
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.86, -0.9],
|
||||
[0.025, -0.86, -0.80]
|
||||
]
|
||||
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" # todo
|
||||
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" # todo
|
||||
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" # todo: robot base frame
|
||||
|
||||
data:
|
||||
task_dir: "push_the_storagefurniture_left_arm_bottom"
|
||||
language_instruction: "Push the storagefurniture with left arm."
|
||||
detailed_language_instruction: "Push and close the storagefurniture with the left robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
split_aloha:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: close
|
||||
objects: [push_art_left]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.01
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: link_contact_point
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis: object_link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_tail
|
||||
axis_to_keypoint_name: tool_head
|
||||
target_axis: object_link0_move_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_move_axis
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [["translate_z", -0.05]] # ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["translate_z", 0.15],["translate_z", 0.05],["translate_z", 0.05],["translate_z", 0.05],["translate_z", 0.05],["translate_z", 0.05],["translate_z", 0.05],["translate_z", 0.05]] # ["translate_z", 0.08],
|
||||
|
||||
# in link8 frame, in degree, in metre
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: -3
|
||||
x_max: 3
|
||||
y_min: -5
|
||||
y_max: 5
|
||||
z_min: -45
|
||||
z_max: 45
|
||||
position:
|
||||
x_min: -0.03
|
||||
x_max: 0.03
|
||||
y_min: -0.005
|
||||
y_max: 0.005
|
||||
z_min: -0.02
|
||||
z_max: 0
|
||||
@@ -0,0 +1,169 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "split_aloha"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/split_aloha.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
right_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
left_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
right_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: push_art_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
joint_position_range: [0.10, 0.20]
|
||||
info_name: "push"
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
fix_base: True
|
||||
art_cat: "art/storagefurniture_middle"
|
||||
|
||||
regions:
|
||||
-
|
||||
object: push_art_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.35, -0.025, 0.0],
|
||||
[0.05, 0.125, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: split_aloha
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.86, -0.8],
|
||||
[0.025, -0.86, -0.70]
|
||||
]
|
||||
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" # todo
|
||||
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" # todo
|
||||
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" # todo: robot base frame
|
||||
|
||||
data:
|
||||
task_dir: "push_the_storagefurniture_left_arm_middle"
|
||||
language_instruction: "Push the storagefurniture with left arm."
|
||||
detailed_language_instruction: "Push and close the storagefurniture with the left robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
split_aloha:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: close
|
||||
objects: [push_art_left]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.01
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: link_contact_point
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis: object_link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_tail
|
||||
axis_to_keypoint_name: tool_head
|
||||
target_axis: object_link0_move_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_move_axis
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [["translate_z", -0.05]] # ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["translate_z", 0.15],["translate_z", 0.05],["translate_z", 0.05],["translate_z", 0.05],["translate_z", 0.05],["translate_z", 0.05],["translate_z", 0.05],["translate_z", 0.05]] # ["translate_z", 0.08],
|
||||
|
||||
# in link8 frame, in degree, in metre
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: -3
|
||||
x_max: 3
|
||||
y_min: -5
|
||||
y_max: 5
|
||||
z_min: -45
|
||||
z_max: 45
|
||||
position:
|
||||
x_min: -0.03
|
||||
x_max: 0.03
|
||||
y_min: -0.005
|
||||
y_max: 0.005
|
||||
z_min: -0.02
|
||||
z_max: 0
|
||||
@@ -0,0 +1,169 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "split_aloha"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/split_aloha.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
right_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
left_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
right_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: push_art_left
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
joint_position_range: [0.10, 0.20]
|
||||
info_name: "push"
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
fix_base: True
|
||||
art_cat: "art/storagefurniture_top"
|
||||
|
||||
regions:
|
||||
-
|
||||
object: push_art_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.35, -0.025, 0.0],
|
||||
[0.05, 0.125, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: split_aloha
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.86, -0.7],
|
||||
[0.025, -0.86, -0.60]
|
||||
]
|
||||
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" # todo
|
||||
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" # todo
|
||||
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" # todo: robot base frame
|
||||
|
||||
data:
|
||||
task_dir: "push_the_storagefurniture_left_arm_top"
|
||||
language_instruction: "Push the storagefurniture with left arm."
|
||||
detailed_language_instruction: "Push and close the storagefurniture with the left robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
split_aloha:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: close
|
||||
objects: [push_art_left]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.01
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: link_contact_point
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis: object_link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_tail
|
||||
axis_to_keypoint_name: tool_head
|
||||
target_axis: object_link0_move_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_move_axis
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [["translate_z", -0.05]] # ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["translate_z", 0.15],["translate_z", 0.05],["translate_z", 0.05],["translate_z", 0.05],["translate_z", 0.05],["translate_z", 0.05],["translate_z", 0.05],["translate_z", 0.05]] # ["translate_z", 0.08],
|
||||
|
||||
# in link8 frame, in degree, in metre
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: -3
|
||||
x_max: 3
|
||||
y_min: -5
|
||||
y_max: 5
|
||||
z_min: -45
|
||||
z_max: 45
|
||||
position:
|
||||
x_min: -0.03
|
||||
x_max: 0.03
|
||||
y_min: -0.005
|
||||
y_max: 0.005
|
||||
z_min: -0.02
|
||||
z_max: 0
|
||||
@@ -0,0 +1,169 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "split_aloha"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/split_aloha.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
right_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
left_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
right_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: push_art_right
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
joint_position_range: [0.10, 0.20]
|
||||
info_name: "push"
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
fix_base: True
|
||||
art_cat: "art/storagefurniture_bottom"
|
||||
|
||||
regions:
|
||||
-
|
||||
object: push_art_right
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.05, -0.025, 0.0],
|
||||
[0.35, 0.125, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: split_aloha
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.86, -0.9],
|
||||
[0.025, -0.86, -0.80]
|
||||
]
|
||||
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" # todo
|
||||
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" # todo
|
||||
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" # todo: robot base frame
|
||||
|
||||
data:
|
||||
task_dir: "push_the_storagefurniture_right_arm_bottom"
|
||||
language_instruction: "Push the storagefurniture with right arm."
|
||||
detailed_language_instruction: "Push and close the storagefurniture with the right robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
split_aloha:
|
||||
-
|
||||
right:
|
||||
-
|
||||
name: close
|
||||
objects: [push_art_right]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.01
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: link_contact_point
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis: object_link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_tail
|
||||
axis_to_keypoint_name: tool_head
|
||||
target_axis: object_link0_move_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_move_axis
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [["translate_z", -0.05]] # ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["translate_z", 0.15],["translate_z", 0.05],["translate_z", 0.05],["translate_z", 0.05],["translate_z", 0.05],["translate_z", 0.05],["translate_z", 0.05],["translate_z", 0.05]] # ["translate_z", 0.08],
|
||||
|
||||
# in link8 frame, in degree, in metre
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: -3
|
||||
x_max: 3
|
||||
y_min: -5
|
||||
y_max: 5
|
||||
z_min: -45
|
||||
z_max: 45
|
||||
position:
|
||||
x_min: -0.03
|
||||
x_max: 0.03
|
||||
y_min: -0.005
|
||||
y_max: 0.005
|
||||
z_min: -0.02
|
||||
z_max: 0
|
||||
@@ -0,0 +1,169 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "split_aloha"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/split_aloha.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
right_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
left_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
right_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: push_art_right
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
joint_position_range: [0.10, 0.20]
|
||||
info_name: "push"
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
fix_base: True
|
||||
art_cat: "art/storagefurniture_middle"
|
||||
|
||||
regions:
|
||||
-
|
||||
object: push_art_right
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.05, -0.025, 0.0],
|
||||
[0.35, 0.125, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: split_aloha
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.86, -0.8],
|
||||
[0.025, -0.86, -0.70]
|
||||
]
|
||||
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" # todo
|
||||
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" # todo
|
||||
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" # todo: robot base frame
|
||||
|
||||
data:
|
||||
task_dir: "push_the_storagefurniture_right_arm_middle"
|
||||
language_instruction: "Push the storagefurniture with right arm."
|
||||
detailed_language_instruction: "Push and close the storagefurniture with the right robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
split_aloha:
|
||||
-
|
||||
right:
|
||||
-
|
||||
name: close
|
||||
objects: [push_art_right]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.01
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: link_contact_point
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis: object_link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_tail
|
||||
axis_to_keypoint_name: tool_head
|
||||
target_axis: object_link0_move_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_move_axis
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [["translate_z", -0.05]] # ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["translate_z", 0.15],["translate_z", 0.05],["translate_z", 0.05],["translate_z", 0.05],["translate_z", 0.05],["translate_z", 0.05],["translate_z", 0.05],["translate_z", 0.05]] # ["translate_z", 0.08],
|
||||
|
||||
# in link8 frame, in degree, in metre
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: -3
|
||||
x_max: 3
|
||||
y_min: -5
|
||||
y_max: 5
|
||||
z_min: -45
|
||||
z_max: 45
|
||||
position:
|
||||
x_min: -0.03
|
||||
x_max: 0.03
|
||||
y_min: -0.005
|
||||
y_max: 0.005
|
||||
z_min: -0.02
|
||||
z_max: 0
|
||||
@@ -0,0 +1,169 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "split_aloha"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/split_aloha.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
right_joint_home: [0.00484993, 0.34198609, -0.14007858, 0.01680429, 0.14391101, -0.00252178]
|
||||
left_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
right_joint_home_std: [0.12513939, 0.24539099, 0.24468172, 0.23398885, 0.2710117, 0.21726329]
|
||||
ignore_substring: ["material"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: push_art_right
|
||||
target_class: ArticulatedObject
|
||||
dataset: pm
|
||||
joint_position_range: [0.10, 0.20]
|
||||
info_name: "push"
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
apply_randomization: True
|
||||
path: ""
|
||||
category: ""
|
||||
obj_info_path: ""
|
||||
fix_base: True
|
||||
art_cat: "art/storagefurniture_top"
|
||||
|
||||
regions:
|
||||
-
|
||||
object: push_art_right
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.05, -0.025, 0.0],
|
||||
[0.35, 0.125, 0.0]
|
||||
]
|
||||
yaw_rotation: [-30, 30]
|
||||
-
|
||||
object: split_aloha
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.86, -0.7],
|
||||
[0.025, -0.86, -0.60]
|
||||
]
|
||||
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" # todo
|
||||
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" # todo
|
||||
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" # todo: robot base frame
|
||||
|
||||
data:
|
||||
task_dir: "push_the_storagefurniture_right_arm_top"
|
||||
language_instruction: "Push the storagefurniture with right arm."
|
||||
detailed_language_instruction: "Push and close the storagefurniture with the right robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480"
|
||||
update: True
|
||||
max_episode_length: 600
|
||||
|
||||
skills:
|
||||
-
|
||||
split_aloha:
|
||||
-
|
||||
right:
|
||||
-
|
||||
name: close
|
||||
objects: [push_art_right]
|
||||
# debug start: KPAMPlanner
|
||||
planner_setting:
|
||||
task_name: CloseBox
|
||||
category_name: Articulated
|
||||
|
||||
tool_keypoint_name_list: [tool_head, tool_tail, tool_side]
|
||||
object_keypoint_name_list: [articulated_object_head, articulated_object_tail]
|
||||
success_threshold: 0.01
|
||||
constraint_list:
|
||||
# ensure the gripper to be in contact with the box lid with whole fingers
|
||||
- keypoint_name: tool_head
|
||||
target_keypoint_name: link_contact_point
|
||||
tolerance: 0.000001
|
||||
type: point2point_constraint
|
||||
name: fingers_contact_with_link0
|
||||
|
||||
# ensure surface of the gripper to be parallel to the box lid
|
||||
- axis_from_keypoint_name: tool_head
|
||||
axis_to_keypoint_name: tool_side
|
||||
target_axis: object_link0_contact_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.0005
|
||||
target_inner_product: -1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_edge
|
||||
|
||||
- axis_from_keypoint_name: tool_tail
|
||||
axis_to_keypoint_name: tool_head
|
||||
target_axis: object_link0_move_axis
|
||||
target_axis_frame: object
|
||||
tolerance: 0.3
|
||||
target_inner_product: 1
|
||||
type: frame_axis_parallel
|
||||
name: hand_parallel_to_link0_move_axis
|
||||
|
||||
contact_pose_index: 2
|
||||
# pre-actuation pose list.
|
||||
pre_actuation_motions: [["translate_z", -0.05]] # ["translate_z", -0.0001] , ["translate_x", -0.01],
|
||||
# post-actuation pose list
|
||||
post_actuation_motions: [["translate_z", 0.15],["translate_z", 0.05],["translate_z", 0.05],["translate_z", 0.05],["translate_z", 0.05],["translate_z", 0.05],["translate_z", 0.05],["translate_z", 0.05]] # ["translate_z", 0.08],
|
||||
|
||||
# in link8 frame, in degree, in metre
|
||||
keypose_random_range:
|
||||
orientation: # rotation around each axis (degrees)
|
||||
x_min: -3
|
||||
x_max: 3
|
||||
y_min: -5
|
||||
y_max: 5
|
||||
z_min: -45
|
||||
z_max: 45
|
||||
position:
|
||||
x_min: -0.03
|
||||
x_max: 0.03
|
||||
y_min: -0.005
|
||||
y_max: 0.005
|
||||
z_min: -0.02
|
||||
z_max: 0
|
||||
@@ -0,0 +1,102 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
# arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_clean_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [5000, 5500]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "franka"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/fr3.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [0.0, -0.143, 0.0, -2.435, 0.0, 2.235, 0.789]
|
||||
left_joint_home_std: [0.0157, 0.0263, 0.0209, 0.0247, 0.0187, 0.0243, 0.0281]
|
||||
constrain_grasp_approach: True
|
||||
|
||||
objects:
|
||||
[]
|
||||
|
||||
regions:
|
||||
-
|
||||
object: franka
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.0, -0.495, 0.0],
|
||||
[0.0, -0.445, 0.05]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: franka_hand
|
||||
translation: [0.085, 0.0, -0.02]
|
||||
orientation: [0.153, 0.690, 0.690, 0.153]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d435i.yaml
|
||||
parent: "franka/fr3/panda_hand"
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
-
|
||||
name: franka_head
|
||||
translation: [0.0, 0.65, 1.24]
|
||||
orientation: [0.000, 0.000, -0.466, -0.885]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.06
|
||||
max_orientation_noise: 10.0
|
||||
|
||||
data:
|
||||
task_dir: "track_the_targets"
|
||||
language_instruction: "Use the grippers to track the targets over the table."
|
||||
detailed_language_instruction: "Move the franka arm to track the target over the table. Keep tracking until the target disappears."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 1200
|
||||
|
||||
skills:
|
||||
-
|
||||
franka:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: track
|
||||
target: target_left
|
||||
ignore_substring: ["visual"]
|
||||
T_tcp_2_ee:
|
||||
[
|
||||
[1, 0, 0, 0],
|
||||
[0, 1, 0, 0],
|
||||
[0, 0, 1, 0.1],
|
||||
[0, 0, 0, 1],
|
||||
]
|
||||
# Frame orientation is aligned with base; origin is at table center; waypoints control gripper flange pose
|
||||
way_points_num: 3
|
||||
way_points_trans:
|
||||
# min: [-0.312, -0.106, 0.174]
|
||||
# max: [-0.042, 0.526, 0.594]
|
||||
min: [-0.202, -0.376, 0.134]
|
||||
max: [ 0.302, 0.376, 0.264]
|
||||
way_points_ori:
|
||||
[0., 1., 0., 0.]
|
||||
max_noise_deg: 180
|
||||
@@ -0,0 +1,216 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_clean_arena.yaml
|
||||
|
||||
neglect_collision_names: ["table"]
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "genie1"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/genie1.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
# constrain_grasp_approach: True
|
||||
ignore_substring: ["material", "table"]
|
||||
use_batch: True
|
||||
collision_activation_distance: 0.05
|
||||
tcp_offset: 0.20
|
||||
|
||||
objects:
|
||||
-
|
||||
name: pick_object_left
|
||||
path: basic/store_the_eggs/omniobject3d-egg_p/omniobject3d-egg_098/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: omniobject3d-egg_p
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
apply_randomization: False
|
||||
optimize_2d_layout: True
|
||||
-
|
||||
name: pick_object_right
|
||||
path: basic/store_the_eggs/omniobject3d-egg_p/omniobject3d-egg_098/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: omniobject3d-egg_p
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
apply_randomization: False
|
||||
optimize_2d_layout: True
|
||||
|
||||
-
|
||||
name: gso_box
|
||||
path: basic/store_the_eggs/egg_placer3/098_egg_placer_000_orange/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: gso
|
||||
category: box
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [0.0, 0.0, 0.0]
|
||||
scale: [1.2, 1.2, 1.2]
|
||||
apply_randomization: False
|
||||
|
||||
regions:
|
||||
-
|
||||
object: pick_object_left
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.15, -0.18, 0.0],
|
||||
[0.15, -0.06, 0.0]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
-
|
||||
object: pick_object_right
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.15, -0.18, 0.0],
|
||||
[0.15, -0.06, 0.0]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
-
|
||||
object: gso_box
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.05, 0.14, 0.01],
|
||||
[0.05, 0.18, 0.01]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
-
|
||||
object: ${tasks.0.robots.0.name}
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.81, -0.85],
|
||||
[0.025, -0.81, -0.73]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_hand_left
|
||||
translation: [-0.01, -0.07, 0.08]
|
||||
orientation: [0.191, 0.981, 0.003, 0.017]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405_v2.yaml
|
||||
|
||||
parent: "${tasks.0.robots.0.name}/gripper_l_base_link" # todo
|
||||
apply_randomization: False
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_hand_right
|
||||
translation: [0.015, 0.094, 0.07]
|
||||
orientation: [0.0, 0.0, 0.974, 0.225]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405_v2.yaml
|
||||
parent: "${tasks.0.robots.0.name}/gripper_r_base_link"
|
||||
apply_randomization: False
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_head
|
||||
translation: [0.05, -0.05, -0.0]
|
||||
orientation: [0.0, 0.697, 0.0128, -0.717]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "${tasks.0.robots.0.name}/head_link2"
|
||||
|
||||
data:
|
||||
task_dir: "store_the_eggs/lr/098_egg_placer_000_orange"
|
||||
language_instruction: "Pick up the eggs with the left arm and right arm then place it in the egg carton."
|
||||
detailed_language_instruction: "Pick up the eggs with the left robotic arm and right robotic arm then place it in the egg carton."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 800
|
||||
|
||||
skills:
|
||||
-
|
||||
genie1:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: pick
|
||||
objects: [pick_object_left]
|
||||
filter_x_dir: ["backward", 135]
|
||||
filter_y_dir: ["downward", 120]
|
||||
filter_z_dir: ["forward", 135, 45]
|
||||
pre_grasp_offset: 0.08
|
||||
gripper_change_steps: 20
|
||||
process_valid: True
|
||||
lift_th: 0.0
|
||||
post_grasp_offset_min: 0.0
|
||||
post_grasp_offset_max: 0.0
|
||||
return_to_pregrasp: True
|
||||
|
||||
-
|
||||
name: place
|
||||
objects: [pick_object_left, gso_box]
|
||||
position_constraint: object
|
||||
filter_x_dir: ["backward", 110]
|
||||
filter_y_dir: ["downward", 120]
|
||||
filter_z_dir: ["forward", 70]
|
||||
x_ratio_range: [0.48, 0.52]
|
||||
y_ratio_range: [0.2, 0.3]
|
||||
success_mode: xybbox
|
||||
pre_place_z_offset: 0.03
|
||||
place_z_offset: 0.03
|
||||
gripper_change_steps: 20
|
||||
-
|
||||
name: heuristic__skill
|
||||
mode: home
|
||||
gripper_state: 1.0 # Open gripper
|
||||
-
|
||||
right:
|
||||
-
|
||||
name: pick
|
||||
objects: [pick_object_right]
|
||||
filter_x_dir: ["forward", 45]
|
||||
filter_y_dir: ["downward", 120]
|
||||
filter_z_dir: ["forward", 135, 45]
|
||||
pre_grasp_offset: 0.08
|
||||
gripper_change_steps: 20
|
||||
process_valid: True
|
||||
lift_th: 0.0
|
||||
post_grasp_offset_min: 0.0
|
||||
post_grasp_offset_max: 0.0
|
||||
return_to_pregrasp: True
|
||||
-
|
||||
name: place
|
||||
objects: [pick_object_right, gso_box]
|
||||
position_constraint: object
|
||||
filter_x_dir: ["forward", 70]
|
||||
filter_y_dir: ["downward", 120]
|
||||
filter_z_dir: ["forward", 70]
|
||||
x_ratio_range: [0.75, 0.85]
|
||||
y_ratio_range: [0.15, 0.35]
|
||||
success_mode: xybbox
|
||||
pre_place_z_offset: 0.03
|
||||
place_z_offset: 0.03
|
||||
gripper_change_steps: 20
|
||||
-
|
||||
name: heuristic__skill
|
||||
mode: home
|
||||
gripper_state: 1.0 # Open gripper
|
||||
@@ -0,0 +1,290 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
neglect_collision_names: ["tray"]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
||||
right_joint_home: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
||||
left_joint_home_std: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
||||
right_joint_home_std: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
||||
ignore_substring: ["material", "table", "tray"]
|
||||
objects:
|
||||
-
|
||||
name: plate
|
||||
path: basic/arrange_the_tableware/plate/plate_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: arcode
|
||||
category: plate
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
# translation: [0.0, -0.25, 0.76]
|
||||
# euler: [90.0, 0.0, 0.0]
|
||||
scale: [1.0, 1.0, 1.0]
|
||||
-
|
||||
name: plate_shelf
|
||||
path: basic/arrange_the_tableware/plate_shelf/shelf_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: arcode
|
||||
category: plate
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, -0.0, 0.0]
|
||||
euler: [90.0, 0.0, 90.0]
|
||||
scale: [1.0, 1.0, 1.0]
|
||||
-
|
||||
name: tray_0
|
||||
path: basic/arrange_the_tableware/tray/tray_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: arcode
|
||||
category: plate
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0]
|
||||
scale: [1.6, 1.0, 1.3]
|
||||
filter_collision: True
|
||||
-
|
||||
name: tray_1
|
||||
path: basic/arrange_the_tableware/tray/tray_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: arcode
|
||||
category: plate
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0]
|
||||
scale: [1.6, 1.0, 1.3]
|
||||
filter_collision: True
|
||||
-
|
||||
name: fork
|
||||
path: basic/arrange_the_tableware/fork/fork_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: arcode
|
||||
category: plate
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [0.0, -90.0, 0.0]
|
||||
scale: [1.0, 1.0, 1.0]
|
||||
-
|
||||
name: spoon
|
||||
path: basic/arrange_the_tableware/spoon/spoon_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: arcode
|
||||
category: plate
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [0.0, -90.0, 0.0]
|
||||
scale: [1.0, 1.0, 1.0]
|
||||
|
||||
regions:
|
||||
-
|
||||
object: ${tasks.0.robots.0.name}
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.75, -0.67],
|
||||
[0.025, -0.75, -0.67]
|
||||
]
|
||||
yaw_rotation: [-0.0, 0.0]
|
||||
-
|
||||
object: tray_1
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.35, -0.25, 0.005],
|
||||
[0.40, -0.15, 0.005]
|
||||
]
|
||||
yaw_rotation: [0, 0]
|
||||
-
|
||||
object: tray_0
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.40, -0.25, 0.005],
|
||||
[-0.35, -0.15, 0.005]
|
||||
]
|
||||
yaw_rotation: [0, 0]
|
||||
|
||||
-
|
||||
object: plate_shelf
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.05, -0.05, 0.005],
|
||||
[0.05, 0.05, 0.005]
|
||||
]
|
||||
yaw_rotation: [0, 0]
|
||||
-
|
||||
object: fork
|
||||
target: tray_0
|
||||
random_type: A_in_B_region_sampler
|
||||
random_config:
|
||||
x_bias: 0.0
|
||||
-
|
||||
object: spoon
|
||||
target: tray_1
|
||||
random_type: A_in_B_region_sampler
|
||||
random_config:
|
||||
x_bias: 0.0
|
||||
-
|
||||
object: plate
|
||||
target: plate_shelf
|
||||
random_type: A_in_B_region_sampler
|
||||
random_config:
|
||||
z_bias: -0.04
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "${tasks.0.robots.0.name}/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "${tasks.0.robots.0.name}/lift2/lift2/fr/link6"
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "${tasks.0.robots.0.name}/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
|
||||
|
||||
data:
|
||||
task_dir: "arrange_the_tableware_part0"
|
||||
language_instruction: "Setup the table."
|
||||
detailed_language_instruction: "Pick up the plate from the shelf with right arm, then pick up the spoon from the tray with right arm and pick up the fork from the tray with left arm meanwhile, finally place the spoon on the right side of the plate and the fork on the left side of the plate."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 1300
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
-
|
||||
right:
|
||||
-
|
||||
name: pick
|
||||
objects: [plate]
|
||||
filter_z_dir: ["forward", 80]
|
||||
filter_x_dir: ["downward", 130]
|
||||
pre_grasp_offset: 0.05
|
||||
gripper_change_steps: 10
|
||||
ignore_substring: ["plate_shelf"]
|
||||
post_grasp_offset_min: 0.075
|
||||
post_grasp_offset_max: 0.125
|
||||
-
|
||||
name: place
|
||||
objects: [plate, table]
|
||||
place_direction: vertical
|
||||
filter_z_dir: ["forward", 10]
|
||||
filter_y_dir: ["upward", 60, 30]
|
||||
filter_x_dir: ["downward", 120, 150]
|
||||
position_constraint: object
|
||||
x_ratio_range: [0.5, 0.5]
|
||||
y_ratio_range: [0.12, 0.20]
|
||||
pre_place_z_offset: 0.15
|
||||
place_z_offset: 0.1
|
||||
post_place_vector: [-0.05, 0.0, 0.0]
|
||||
success_mode: xybbox
|
||||
-
|
||||
name: heuristic__skill
|
||||
mode: home
|
||||
gripper_state: 1.0 # Open gripper
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: pick
|
||||
objects: [fork]
|
||||
filter_z_dir: ["forward", 80]
|
||||
filter_x_dir: ["downward", 130]
|
||||
pre_grasp_offset: 0.05
|
||||
gripper_change_steps: 10
|
||||
# ignore_substring: ["tray_0"]
|
||||
post_grasp_offset_min: 0.125
|
||||
post_grasp_offset_max: 0.175
|
||||
-
|
||||
name: place
|
||||
objects: [fork, plate]
|
||||
place_direction: vertical
|
||||
filter_z_dir: ["forward", 20]
|
||||
filter_x_dir: ["downward", 150]
|
||||
x_ratio_range: [-0.25, -0.15]
|
||||
y_ratio_range: [0.30, 0.70]
|
||||
pre_place_z_offset: 0.175
|
||||
place_z_offset: 0.125
|
||||
success_mode: left
|
||||
threshold: 0.01
|
||||
-
|
||||
name: heuristic__skill
|
||||
mode: home
|
||||
gripper_state: 1.0 # Open gripper
|
||||
right:
|
||||
-
|
||||
name: pick
|
||||
objects: [spoon]
|
||||
filter_z_dir: ["forward", 80]
|
||||
filter_x_dir: ["downward", 130]
|
||||
pre_grasp_offset: 0.05
|
||||
gripper_change_steps: 10
|
||||
# ignore_substring: ["tray_1"]
|
||||
post_grasp_offset_min: 0.125
|
||||
post_grasp_offset_max: 0.175
|
||||
-
|
||||
name: place
|
||||
objects: [spoon, plate]
|
||||
place_direction: vertical
|
||||
filter_z_dir: ["forward", 20]
|
||||
filter_x_dir: ["downward", 150]
|
||||
x_ratio_range: [1.15, 1.25]
|
||||
y_ratio_range: [0.30, 0.70]
|
||||
pre_place_z_offset: 0.175
|
||||
place_z_offset: 0.125
|
||||
success_mode: right
|
||||
threshold: 0.01
|
||||
-
|
||||
name: heuristic__skill
|
||||
mode: home
|
||||
gripper_state: 1.0 # Open gripper
|
||||
@@ -0,0 +1,290 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
neglect_collision_names: ["tray"]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
||||
right_joint_home: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
||||
left_joint_home_std: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
||||
right_joint_home_std: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
||||
ignore_substring: ["material", "table", "tray"]
|
||||
objects:
|
||||
-
|
||||
name: plate
|
||||
path: basic/arrange_the_tableware/plate/plate_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: arcode
|
||||
category: plate
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
# translation: [0.0, -0.25, 0.76]
|
||||
# euler: [90.0, 0.0, 0.0]
|
||||
scale: [1.0, 1.0, 1.0]
|
||||
-
|
||||
name: plate_shelf
|
||||
path: basic/arrange_the_tableware/plate_shelf/shelf_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: arcode
|
||||
category: plate
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, -0.0, 0.0]
|
||||
euler: [90.0, 0.0, 90.0]
|
||||
scale: [1.0, 1.0, 1.0]
|
||||
-
|
||||
name: tray_0
|
||||
path: basic/arrange_the_tableware/tray/tray_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: arcode
|
||||
category: plate
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0]
|
||||
scale: [1.6, 1.0, 1.3]
|
||||
filter_collision: True
|
||||
-
|
||||
name: tray_1
|
||||
path: basic/arrange_the_tableware/tray/tray_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: arcode
|
||||
category: plate
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0]
|
||||
scale: [1.6, 1.0, 1.3]
|
||||
filter_collision: True
|
||||
-
|
||||
name: fork
|
||||
path: basic/arrange_the_tableware/fork/fork_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: arcode
|
||||
category: plate
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [0.0, -90.0, 0.0]
|
||||
scale: [1.0, 1.0, 1.0]
|
||||
-
|
||||
name: spoon
|
||||
path: basic/arrange_the_tableware/spoon/spoon_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: arcode
|
||||
category: plate
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [0.0, -90.0, 0.0]
|
||||
scale: [1.0, 1.0, 1.0]
|
||||
|
||||
regions:
|
||||
-
|
||||
object: ${tasks.0.robots.0.name}
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.025, -0.75, -0.67],
|
||||
[0.025, -0.75, -0.67]
|
||||
]
|
||||
yaw_rotation: [-0.0, 0.0]
|
||||
-
|
||||
object: tray_1
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.35, -0.25, 0.005],
|
||||
[0.40, -0.15, 0.005]
|
||||
]
|
||||
yaw_rotation: [0, 0]
|
||||
-
|
||||
object: tray_0
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.40, -0.25, 0.005],
|
||||
[-0.35, -0.15, 0.005]
|
||||
]
|
||||
yaw_rotation: [0, 0]
|
||||
|
||||
-
|
||||
object: plate_shelf
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.05, -0.05, 0.005],
|
||||
[0.05, 0.05, 0.005]
|
||||
]
|
||||
yaw_rotation: [0, 0]
|
||||
-
|
||||
object: spoon
|
||||
target: tray_0
|
||||
random_type: A_in_B_region_sampler
|
||||
random_config:
|
||||
x_bias: 0.0
|
||||
-
|
||||
object: fork
|
||||
target: tray_1
|
||||
random_type: A_in_B_region_sampler
|
||||
random_config:
|
||||
x_bias: 0.0
|
||||
-
|
||||
object: plate
|
||||
target: plate_shelf
|
||||
random_type: A_in_B_region_sampler
|
||||
random_config:
|
||||
z_bias: -0.04
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "${tasks.0.robots.0.name}/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "${tasks.0.robots.0.name}/lift2/lift2/fr/link6"
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "${tasks.0.robots.0.name}/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
|
||||
|
||||
data:
|
||||
task_dir: "arrange_the_tableware_part1"
|
||||
language_instruction: "Setup the table."
|
||||
detailed_language_instruction: "Pick up the plate from the shelf with right arm, then pick up the fork from the tray with right arm and pick up the spoon from the tray with left arm meanwhile, finally place the fork on the right side of the plate and the spoon on the left side of the plate."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 1300
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
-
|
||||
right:
|
||||
-
|
||||
name: pick
|
||||
objects: [plate]
|
||||
filter_z_dir: ["forward", 80]
|
||||
filter_x_dir: ["downward", 130]
|
||||
pre_grasp_offset: 0.05
|
||||
gripper_change_steps: 10
|
||||
ignore_substring: ["plate_shelf"]
|
||||
post_grasp_offset_min: 0.075
|
||||
post_grasp_offset_max: 0.125
|
||||
-
|
||||
name: place
|
||||
objects: [plate, table]
|
||||
place_direction: vertical
|
||||
filter_z_dir: ["forward", 10]
|
||||
filter_y_dir: ["upward", 60, 30]
|
||||
filter_x_dir: ["downward", 120, 150]
|
||||
position_constraint: object
|
||||
x_ratio_range: [0.5, 0.5]
|
||||
y_ratio_range: [0.12, 0.20]
|
||||
pre_place_z_offset: 0.15
|
||||
place_z_offset: 0.1
|
||||
post_place_vector: [-0.05, 0.0, 0.0]
|
||||
success_mode: xybbox
|
||||
-
|
||||
name: heuristic__skill
|
||||
mode: home
|
||||
gripper_state: 1.0 # Open gripper
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: pick
|
||||
objects: [spoon]
|
||||
filter_z_dir: ["forward", 80]
|
||||
filter_x_dir: ["downward", 130]
|
||||
pre_grasp_offset: 0.05
|
||||
gripper_change_steps: 10
|
||||
# ignore_substring: ["tray_0"]
|
||||
post_grasp_offset_min: 0.125
|
||||
post_grasp_offset_max: 0.175
|
||||
-
|
||||
name: place
|
||||
objects: [spoon, plate]
|
||||
place_direction: vertical
|
||||
filter_z_dir: ["forward", 20]
|
||||
filter_x_dir: ["downward", 150]
|
||||
x_ratio_range: [-0.25, -0.15]
|
||||
y_ratio_range: [0.30, 0.70]
|
||||
pre_place_z_offset: 0.175
|
||||
place_z_offset: 0.125
|
||||
success_mode: left
|
||||
threshold: 0.01
|
||||
-
|
||||
name: heuristic__skill
|
||||
mode: home
|
||||
gripper_state: 1.0 # Open gripper
|
||||
right:
|
||||
-
|
||||
name: pick
|
||||
objects: [fork]
|
||||
filter_z_dir: ["forward", 80]
|
||||
filter_x_dir: ["downward", 130]
|
||||
pre_grasp_offset: 0.05
|
||||
gripper_change_steps: 10
|
||||
# ignore_substring: ["tray_1"]
|
||||
post_grasp_offset_min: 0.125
|
||||
post_grasp_offset_max: 0.175
|
||||
-
|
||||
name: place
|
||||
objects: [fork, plate]
|
||||
place_direction: vertical
|
||||
filter_z_dir: ["forward", 20]
|
||||
filter_x_dir: ["downward", 150]
|
||||
x_ratio_range: [1.15, 1.25]
|
||||
y_ratio_range: [0.30, 0.70]
|
||||
pre_place_z_offset: 0.175
|
||||
place_z_offset: 0.125
|
||||
success_mode: right
|
||||
threshold: 0.01
|
||||
-
|
||||
name: heuristic__skill
|
||||
mode: home
|
||||
gripper_state: 1.0 # Open gripper
|
||||
@@ -0,0 +1,909 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/conveyor_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: False
|
||||
intensity_range: [2500, 5000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
ignore_substring: ["material", "Plane", "conveyor", "shelf", "bowl", "plate"]
|
||||
|
||||
neglect_collision_names: ["shelf", "bowl", "plate"]
|
||||
|
||||
objects:
|
||||
### priority food
|
||||
-
|
||||
name: bread_0
|
||||
path: long_horizon/conveyor_food/bread/bread_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [0.0, 0.0, 90.0] # stable init pose
|
||||
scale: [1, 1, 1]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: bread_shelf_0
|
||||
path: long_horizon/conveyor_food/bread_shelf/shelf_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.2, 0.125, 0.2]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: lettuce_0
|
||||
path: long_horizon/conveyor_food/lettuce/lettuce_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [0.0, 0.0, -90.0] # stable init pose
|
||||
scale: [1, 1.2, 1]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: lettuce_bowl_0
|
||||
path: long_horizon/conveyor_food/lettuce_bowl/bowl_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.15, 0.15, 0.15]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
### distractor food
|
||||
-
|
||||
name: bread_1
|
||||
path: long_horizon/conveyor_food/bread/bread_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [0.0, 0.0, 90.0] # stable init pose
|
||||
scale: [1, 1, 1]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: bread_shelf_1
|
||||
path: long_horizon/conveyor_food/bread_shelf/shelf_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.2, 0.125, 0.2]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: lettuce_1
|
||||
path: long_horizon/conveyor_food/lettuce/lettuce_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [0.0, 0.0, -90.0] # stable init pose
|
||||
scale: [1, 1.2, 1]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: lettuce_bowl_1
|
||||
path: long_horizon/conveyor_food/lettuce_bowl/bowl_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.15, 0.15, 0.15]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: bread_2
|
||||
path: long_horizon/conveyor_food/bread/bread_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [0.0, 0.0, 90.0] # stable init pose
|
||||
scale: [1, 1, 1]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: bread_shelf_2
|
||||
path: long_horizon/conveyor_food/bread_shelf/shelf_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.2, 0.125, 0.2]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: lettuce_2
|
||||
path: long_horizon/conveyor_food/lettuce/lettuce_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [0.0, 0.0, -90.0] # stable init pose
|
||||
scale: [1, 1.2, 1]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: lettuce_bowl_2
|
||||
path: long_horizon/conveyor_food/lettuce_bowl/bowl_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.15, 0.15, 0.15]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: beef_0
|
||||
path: long_horizon/conveyor_food/beef/beef_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [-90.0, 90.0, 180.0] # stable init pose
|
||||
scale: [1, 1.3, 1]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: beef_shelf_0
|
||||
path: long_horizon/conveyor_food/beef_shelf/shelf_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.2, 0.17, 0.17]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: beef_1
|
||||
path: long_horizon/conveyor_food/beef/beef_1/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [-90.0, 90.0, 180.0] # stable init pose
|
||||
scale: [1, 1.3, 1]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: beef_shelf_1
|
||||
path: long_horizon/conveyor_food/beef_shelf/shelf_1/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.2, 0.17, 0.17]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: beef_2
|
||||
path: long_horizon/conveyor_food/beef/beef_2/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [-90.0, 90.0, 180.0] # stable init pose
|
||||
scale: [1, 1.3, 1]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: beef_shelf_2
|
||||
path: long_horizon/conveyor_food/beef_shelf/shelf_2/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.2, 0.17, 0.17]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: beef_3
|
||||
path: long_horizon/conveyor_food/beef/beef_2/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [-90.0, 90.0, 180.0] # stable init pose
|
||||
scale: [1, 1.3, 1]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: beef_shelf_3
|
||||
path: long_horizon/conveyor_food/beef_shelf/shelf_2/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.2, 0.17, 0.17]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: distractor_0
|
||||
path: long_horizon/conveyor_food/distractor/fruits/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.8, 0.8, 0.8]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: plate_0
|
||||
path: long_horizon/conveyor_food/plate/plate_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.15, 0.15, 0.15]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: distractor_1
|
||||
path: long_horizon/conveyor_food/distractor/fruits/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.8, 0.8, 0.8]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: plate_1
|
||||
path: long_horizon/conveyor_food/plate/plate_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.15, 0.15, 0.15]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: distractor_2
|
||||
path: long_horizon/conveyor_food/distractor/fruits/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.8, 0.8, 0.8]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: plate_2
|
||||
path: long_horizon/conveyor_food/plate/plate_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.15, 0.15, 0.15]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: distractor_3
|
||||
path: long_horizon/conveyor_food/distractor/fruits/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.8, 0.8, 0.8]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: plate_3
|
||||
path: long_horizon/conveyor_food/plate/plate_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.15, 0.15, 0.15]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
# -
|
||||
# name: distractor_4
|
||||
# path: long_horizon/conveyor_bg_objorange/omniobject3d-orange_001/Aligned_obj.usd
|
||||
# target_class: RigidObject
|
||||
# dataset: oo3d
|
||||
# category: bottle
|
||||
# prim_path_child: Aligned
|
||||
# translation: [0.0, 0.0, 0.0]
|
||||
# euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
# scale: [0.001, 0.001, 0.001]
|
||||
# apply_randomization: True
|
||||
# orientation_mode: keep
|
||||
# gap: False
|
||||
-
|
||||
name: plate_4
|
||||
path: long_horizon/conveyor_food/plate/plate_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.15, 0.15, 0.15]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
# -
|
||||
# name: distractor_5
|
||||
# path: long_horizon/conveyor_bg_objpear/omniobject3d-pear_007/Aligned_obj.usd
|
||||
# target_class: RigidObject
|
||||
# dataset: oo3d
|
||||
# category: bottle
|
||||
# prim_path_child: Aligned
|
||||
# translation: [0.0, 0.0, 0.0]
|
||||
# euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
# scale: [0.001, 0.001, 0.001]
|
||||
# apply_randomization: True
|
||||
# orientation_mode: keep
|
||||
# gap: False
|
||||
-
|
||||
name: plate_5
|
||||
path: long_horizon/conveyor_food/plate/plate_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.15, 0.15, 0.15]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
# -
|
||||
# name: distractor_6
|
||||
# path: long_horizon/conveyor_bg_objorange/omniobject3d-orange_001/Aligned_obj.usd
|
||||
# target_class: RigidObject
|
||||
# dataset: oo3d
|
||||
# category: bottle
|
||||
# prim_path_child: Aligned
|
||||
# translation: [0.0, 0.0, 0.0]
|
||||
# euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
# scale: [0.001, 0.001, 0.001]
|
||||
# apply_randomization: True
|
||||
# orientation_mode: keep
|
||||
# gap: False
|
||||
-
|
||||
name: plate_6
|
||||
path: long_horizon/conveyor_food/plate/plate_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.15, 0.15, 0.15]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
# -
|
||||
# name: distractor_7
|
||||
# path: long_horizon/conveyor_bg_objorange/omniobject3d-orange_001/Aligned_obj.usd
|
||||
# target_class: RigidObject
|
||||
# dataset: oo3d
|
||||
# category: bottle
|
||||
# prim_path_child: Aligned
|
||||
# translation: [0.0, 0.0, 0.0]
|
||||
# euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
# scale: [0.001, 0.001, 0.001]
|
||||
# apply_randomization: True
|
||||
# orientation_mode: keep
|
||||
# gap: False
|
||||
-
|
||||
name: plate_7
|
||||
path: long_horizon/conveyor_food/plate/plate_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.15, 0.15, 0.15]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
|
||||
regions:
|
||||
-
|
||||
object: bread_shelf_0
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: [0, 2, 4] # randomly choose among these indices in random_region_list
|
||||
-
|
||||
object: bread_0
|
||||
target: conveyor
|
||||
container: bread_shelf_0
|
||||
z_init: 0.06
|
||||
-
|
||||
object: lettuce_bowl_0
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: [1, 3, 5] # randomly choose among these indices in random_region_list
|
||||
-
|
||||
object: lettuce_0
|
||||
target: conveyor
|
||||
container: lettuce_bowl_0
|
||||
z_init: 0.06
|
||||
### distractor food
|
||||
-
|
||||
object: bread_shelf_1
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: [-1, -2, -3, -4, -5, -6, -7, -8, -9] # randomly choose among these indices in random_region_list
|
||||
-
|
||||
object: bread_1
|
||||
target: conveyor
|
||||
container: bread_shelf_1
|
||||
z_init: 0.06
|
||||
-
|
||||
object: lettuce_bowl_1
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: [-1, -2, -3, -4, -5, -6, -7, -8] # randomly choose among these indices in random_region_list
|
||||
-
|
||||
object: lettuce_1
|
||||
target: conveyor
|
||||
container: lettuce_bowl_1
|
||||
z_init: 0.06
|
||||
-
|
||||
object: bread_shelf_2
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: [-1, -2, -3, -4, -5, -6, -7] # randomly choose among these indices in random_region_list
|
||||
-
|
||||
object: bread_2
|
||||
target: conveyor
|
||||
container: bread_shelf_2
|
||||
z_init: 0.06
|
||||
-
|
||||
object: lettuce_bowl_2
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: [-1, -2, -3, -4, -5, -6] # randomly choose among these indices in random_region_list
|
||||
-
|
||||
object: lettuce_2
|
||||
target: conveyor
|
||||
container: lettuce_bowl_2
|
||||
z_init: 0.06
|
||||
-
|
||||
object: beef_shelf_0
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: [0, 1, 2, 3, 4, 5]
|
||||
-
|
||||
object: beef_0
|
||||
target: conveyor
|
||||
container: beef_shelf_0
|
||||
z_init: 0.06
|
||||
-
|
||||
object: beef_shelf_1
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: [0, 1, 2, 3, 4, 5]
|
||||
-
|
||||
object: beef_1
|
||||
target: conveyor
|
||||
container: beef_shelf_1
|
||||
z_init: 0.06
|
||||
-
|
||||
object: beef_shelf_2
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: False
|
||||
-
|
||||
object: beef_2
|
||||
target: conveyor
|
||||
container: beef_shelf_2
|
||||
z_init: 0.06
|
||||
-
|
||||
object: beef_shelf_3
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: False
|
||||
-
|
||||
object: beef_3
|
||||
target: conveyor
|
||||
container: beef_shelf_3
|
||||
z_init: 0.06
|
||||
-
|
||||
object: plate_0
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: [0, 1, 2, 3, 4, 5]
|
||||
-
|
||||
object: distractor_0
|
||||
target: conveyor
|
||||
container: plate_0
|
||||
z_init: 0.05
|
||||
-
|
||||
object: plate_1
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: [0, 1, 2, 3, 4, 5]
|
||||
-
|
||||
object: distractor_1
|
||||
target: conveyor
|
||||
container: plate_1
|
||||
z_init: 0.05
|
||||
-
|
||||
object: plate_2
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: False
|
||||
-
|
||||
object: distractor_2
|
||||
target: conveyor
|
||||
container: plate_2
|
||||
z_init: 0.05
|
||||
-
|
||||
object: plate_3
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: False
|
||||
-
|
||||
object: distractor_3
|
||||
target: conveyor
|
||||
container: plate_3
|
||||
z_init: 0.05
|
||||
-
|
||||
object: plate_4
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: False
|
||||
# -
|
||||
# object: distractor_4
|
||||
# target: conveyor
|
||||
# container: plate_4
|
||||
# z_init: 0.05
|
||||
-
|
||||
object: plate_5
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: False
|
||||
# -
|
||||
# object: distractor_5
|
||||
# target: conveyor
|
||||
# container: plate_5
|
||||
# z_init: 0.05
|
||||
-
|
||||
object: plate_6
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: False
|
||||
# -
|
||||
# object: distractor_6
|
||||
# target: conveyor
|
||||
# container: plate_6
|
||||
# z_init: 0.05
|
||||
-
|
||||
object: plate_7
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: False
|
||||
# -
|
||||
# object: distractor_7
|
||||
# target: conveyor
|
||||
# container: plate_7
|
||||
# z_init: 0.05
|
||||
### robot
|
||||
-
|
||||
object: lift2
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.5, -0.82, -0.78],
|
||||
[0.5, -0.82, -0.78]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
random_region_list:
|
||||
# This side
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-1.5, -0.15, 0.0],
|
||||
[-1.4, -0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-1.2, -0.15, 0.0],
|
||||
[-1.1, -0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.9, -0.15, 0.0],
|
||||
[-0.8, -0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.6, -0.15, 0.0],
|
||||
[-0.5, -0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.3, -0.15, 0.0],
|
||||
[-0.2, -0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.0, -0.15, 0.0],
|
||||
[0.1, -0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.3, -0.15, 0.0],
|
||||
[0.4, -0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.6, -0.15, 0.0],
|
||||
[0.7, -0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.9, -0.15, 0.0],
|
||||
[1.0, -0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[1.2, -0.15, 0.0],
|
||||
[1.3, -0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
# Other side
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-1.5, 0.15, 0.0],
|
||||
[-1.4, 0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-1.2, 0.15, 0.0],
|
||||
[-1.1, 0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.9, 0.15, 0.0],
|
||||
[-0.8, 0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.6, 0.15, 0.0],
|
||||
[-0.5, 0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.3, 0.15, 0.0],
|
||||
[-0.2, 0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.0, 0.15, 0.0],
|
||||
[0.1, 0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.3, 0.15, 0.0],
|
||||
[0.4, 0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.6, 0.15, 0.0],
|
||||
[0.7, 0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.9, 0.15, 0.0],
|
||||
[1.0, 0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[1.2, 0.15, 0.0],
|
||||
[1.3, 0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: lift2_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: lift2_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fr/link6"
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: lift2_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "lift2/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
|
||||
|
||||
data:
|
||||
task_dir: "beef_sandwich_lift2"
|
||||
language_instruction: "Pick up the bread with left arm, pick up the lettuce with right arm"
|
||||
detailed_language_instruction: "Grasp and lift the bread with the left robotic arm, grasp and lift the lettuce with the left robotic arm"
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 3000
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
- # skill_sequences[0]
|
||||
left:
|
||||
- # skill[0]
|
||||
name: dynamicpick
|
||||
objects: [bread_0]
|
||||
filter_z_dir: ["forward", 90]
|
||||
filter_x_dir: ["downward", 150]
|
||||
pick_range: [0.12, 0.2]
|
||||
time_bias: 1.5
|
||||
-
|
||||
name: heuristic__skill
|
||||
mode: home
|
||||
gripper_state: -1.0 # Close gripper
|
||||
right:
|
||||
- # skill[0]
|
||||
name: dynamicpick
|
||||
objects: [lettuce_0]
|
||||
filter_z_dir: ["forward", 90]
|
||||
filter_x_dir: ["downward", 150]
|
||||
pick_range: [-0.15, -0.05]
|
||||
time_bias: 1
|
||||
-
|
||||
name: heuristic__skill
|
||||
mode: home
|
||||
gripper_state: -1.0 # Close gripper
|
||||
@@ -0,0 +1,912 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/conveyor_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [2500, 5000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
# use_batch: True
|
||||
|
||||
neglect_collision_names: ["shelf", "bowl", "plate"]
|
||||
|
||||
objects:
|
||||
### priority food
|
||||
-
|
||||
name: bread_0
|
||||
path: long_horizon/conveyor_food/bread/bread_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [0.0, 0.0, 90.0] # stable init pose
|
||||
scale: [1, 1, 1]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: bread_shelf_0
|
||||
path: long_horizon/conveyor_food/bread_shelf/shelf_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.2, 0.125, 0.2]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: cheese_0
|
||||
path: long_horizon/conveyor_food/cheese/cheese_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [10.0, 0.0, 90.0] # stable init pose
|
||||
scale: [0.8, 1, 0.8]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: cheese_plate_0
|
||||
path: long_horizon/conveyor_food/cheese_plate/plate_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.175, 0.25, 0.175]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
### distractor food
|
||||
-
|
||||
name: bread_1
|
||||
path: long_horizon/conveyor_food/bread/bread_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [0.0, 0.0, 90.0] # stable init pose
|
||||
scale: [1, 1, 1]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: bread_shelf_1
|
||||
path: long_horizon/conveyor_food/bread_shelf/shelf_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.2, 0.125, 0.2]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: cheese_1
|
||||
path: long_horizon/conveyor_food/cheese/cheese_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [10.0, 0.0, 90.0] # stable init pose
|
||||
scale: [0.8, 1, 0.8]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: cheese_plate_1
|
||||
path: long_horizon/conveyor_food/cheese_plate/plate_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.175, 0.25, 0.175]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: bread_2
|
||||
path: long_horizon/conveyor_food/bread/bread_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [0.0, 0.0, 90.0] # stable init pose
|
||||
scale: [1, 1, 1]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: bread_shelf_2
|
||||
path: long_horizon/conveyor_food/bread_shelf/shelf_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.2, 0.125, 0.2]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: lettuce_2
|
||||
path: long_horizon/conveyor_food/lettuce/lettuce_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [0.0, 0.0, -90.0] # stable init pose
|
||||
scale: [1, 1.2, 1]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: lettuce_bowl_2
|
||||
path: long_horizon/conveyor_food/lettuce_bowl/bowl_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.15, 0.15, 0.15]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: beef_0
|
||||
path: long_horizon/conveyor_food/beef/beef_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [-90.0, 90.0, 180.0] # stable init pose
|
||||
scale: [1, 1.3, 1]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: beef_shelf_0
|
||||
path: long_horizon/conveyor_food/beef_shelf/shelf_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.2, 0.17, 0.17]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: beef_1
|
||||
path: long_horizon/conveyor_food/beef/beef_1/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [-90.0, 90.0, 180.0] # stable init pose
|
||||
scale: [1, 1.3, 1]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: beef_shelf_1
|
||||
path: long_horizon/conveyor_food/beef_shelf/shelf_1/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.2, 0.17, 0.17]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: beef_2
|
||||
path: long_horizon/conveyor_food/beef/beef_2/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [-90.0, 90.0, 180.0] # stable init pose
|
||||
scale: [1, 1.3, 1]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: beef_shelf_2
|
||||
path: long_horizon/conveyor_food/beef_shelf/shelf_2/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.2, 0.17, 0.17]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: beef_3
|
||||
path: long_horizon/conveyor_food/beef/beef_2/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [-90.0, 90.0, 180.0] # stable init pose
|
||||
scale: [1, 1.3, 1]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: beef_shelf_3
|
||||
path: long_horizon/conveyor_food/beef_shelf/shelf_2/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.2, 0.17, 0.17]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: distractor_0
|
||||
path: long_horizon/conveyor_food/distractor/fruits/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.8, 0.8, 0.8]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: plate_0
|
||||
path: long_horizon/conveyor_food/plate/plate_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.15, 0.15, 0.15]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: distractor_1
|
||||
path: long_horizon/conveyor_food/distractor/fruits/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.8, 0.8, 0.8]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: plate_1
|
||||
path: long_horizon/conveyor_food/plate/plate_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.15, 0.15, 0.15]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: distractor_2
|
||||
path: long_horizon/conveyor_food/distractor/fruits/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.8, 0.8, 0.8]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: plate_2
|
||||
path: long_horizon/conveyor_food/plate/plate_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.15, 0.15, 0.15]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: distractor_3
|
||||
path: long_horizon/conveyor_food/distractor/fruits/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.8, 0.8, 0.8]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: plate_3
|
||||
path: long_horizon/conveyor_food/plate/plate_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.15, 0.15, 0.15]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: distractor_4
|
||||
path: long_horizon/conveyor_bg_obj/orange/omniobject3d-orange_001/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: plate_4
|
||||
path: long_horizon/conveyor_food/plate/plate_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.15, 0.15, 0.15]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: distractor_5
|
||||
path: long_horizon/conveyor_bg_obj/pear/omniobject3d-pear_007/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: plate_5
|
||||
path: long_horizon/conveyor_food/plate/plate_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.15, 0.15, 0.15]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: distractor_6
|
||||
path: long_horizon/conveyor_bg_obj/orange/omniobject3d-orange_001/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: plate_6
|
||||
path: long_horizon/conveyor_food/plate/plate_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.15, 0.15, 0.15]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: distractor_7
|
||||
path: long_horizon/conveyor_bg_obj/orange/omniobject3d-orange_001/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.001, 0.001, 0.001]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
-
|
||||
name: plate_7
|
||||
path: long_horizon/conveyor_food/plate/plate_0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: bottle
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90.0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.15, 0.15, 0.15]
|
||||
apply_randomization: True
|
||||
orientation_mode: keep
|
||||
gap: False
|
||||
|
||||
regions:
|
||||
#### container first, object second
|
||||
### priority food
|
||||
## left hand first, right hand second
|
||||
-
|
||||
object: bread_shelf_0
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: [0, 2, 4] # randomly choose among these indices in random_region_list
|
||||
-
|
||||
object: bread_0
|
||||
target: conveyor
|
||||
container: bread_shelf_0
|
||||
z_init: 0.06
|
||||
-
|
||||
object: cheese_plate_0
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: [1, 3, 5] # randomly choose among these indices in random_region_list
|
||||
-
|
||||
object: cheese_0
|
||||
target: conveyor
|
||||
container: cheese_plate_0
|
||||
z_init: 0.06
|
||||
### distractor food
|
||||
-
|
||||
object: bread_shelf_1
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: [-1, -2, -3, -4, -5, -6, -7, -8, -9] # randomly choose among these indices in random_region_list
|
||||
-
|
||||
object: bread_1
|
||||
target: conveyor
|
||||
container: bread_shelf_1
|
||||
z_init: 0.06
|
||||
-
|
||||
object: cheese_plate_1
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: [-1, -2, -3, -4, -5, -6, -7, -8] # randomly choose among these indices in random_region_list
|
||||
-
|
||||
object: cheese_1
|
||||
target: conveyor
|
||||
container: cheese_plate_1
|
||||
z_init: 0.06
|
||||
-
|
||||
object: bread_shelf_2
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: [-1, -2, -3, -4, -5, -6, -7] # randomly choose among these indices in random_region_list
|
||||
-
|
||||
object: bread_2
|
||||
target: conveyor
|
||||
container: bread_shelf_2
|
||||
z_init: 0.06
|
||||
-
|
||||
object: lettuce_bowl_2
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: [-1, -2, -3, -4, -5, -6] # randomly choose among these indices in random_region_list
|
||||
-
|
||||
object: lettuce_2
|
||||
target: conveyor
|
||||
container: lettuce_bowl_2
|
||||
z_init: 0.06
|
||||
-
|
||||
object: beef_shelf_0
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: [0, 1, 2, 3, 4, 5]
|
||||
-
|
||||
object: beef_0
|
||||
target: conveyor
|
||||
container: beef_shelf_0
|
||||
z_init: 0.06
|
||||
-
|
||||
object: beef_shelf_1
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: [0, 1, 2, 3, 4, 5]
|
||||
-
|
||||
object: beef_1
|
||||
target: conveyor
|
||||
container: beef_shelf_1
|
||||
z_init: 0.06
|
||||
-
|
||||
object: beef_shelf_2
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: False
|
||||
-
|
||||
object: beef_2
|
||||
target: conveyor
|
||||
container: beef_shelf_2
|
||||
z_init: 0.06
|
||||
-
|
||||
object: beef_shelf_3
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: False
|
||||
-
|
||||
object: beef_3
|
||||
target: conveyor
|
||||
container: beef_shelf_3
|
||||
z_init: 0.06
|
||||
-
|
||||
object: plate_0
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: [0, 1, 2, 3, 4, 5]
|
||||
-
|
||||
object: distractor_0
|
||||
target: conveyor
|
||||
container: plate_0
|
||||
z_init: 0.05
|
||||
-
|
||||
object: plate_1
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: [0, 1, 2, 3, 4, 5]
|
||||
-
|
||||
object: distractor_1
|
||||
target: conveyor
|
||||
container: plate_1
|
||||
z_init: 0.05
|
||||
-
|
||||
object: plate_2
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: False
|
||||
-
|
||||
object: distractor_2
|
||||
target: conveyor
|
||||
container: plate_2
|
||||
z_init: 0.05
|
||||
-
|
||||
object: plate_3
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: False
|
||||
-
|
||||
object: distractor_3
|
||||
target: conveyor
|
||||
container: plate_3
|
||||
z_init: 0.05
|
||||
-
|
||||
object: plate_4
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: False
|
||||
-
|
||||
object: distractor_4
|
||||
target: conveyor
|
||||
container: plate_4
|
||||
z_init: 0.05
|
||||
-
|
||||
object: plate_5
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: False
|
||||
-
|
||||
object: distractor_5
|
||||
target: conveyor
|
||||
container: plate_5
|
||||
z_init: 0.05
|
||||
-
|
||||
object: plate_6
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: False
|
||||
-
|
||||
object: distractor_6
|
||||
target: conveyor
|
||||
container: plate_6
|
||||
z_init: 0.05
|
||||
-
|
||||
object: plate_7
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
priority: False
|
||||
-
|
||||
object: distractor_7
|
||||
target: conveyor
|
||||
container: plate_7
|
||||
z_init: 0.05
|
||||
### robot
|
||||
-
|
||||
object: lift2
|
||||
target: conveyor
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.5, -0.82, -0.78],
|
||||
[0.5, -0.82, -0.78]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
random_region_list:
|
||||
# This side
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-1.5, -0.15, 0.0],
|
||||
[-1.4, -0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-1.2, -0.15, 0.0],
|
||||
[-1.1, -0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.9, -0.15, 0.0],
|
||||
[-0.8, -0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.6, -0.15, 0.0],
|
||||
[-0.5, -0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.3, -0.15, 0.0],
|
||||
[-0.2, -0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.0, -0.15, 0.0],
|
||||
[0.1, -0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.3, -0.15, 0.0],
|
||||
[0.4, -0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.6, -0.15, 0.0],
|
||||
[0.7, -0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.9, -0.15, 0.0],
|
||||
[1.0, -0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[1.2, -0.15, 0.0],
|
||||
[1.3, -0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
# Other side
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-1.5, 0.15, 0.0],
|
||||
[-1.4, 0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-1.2, 0.15, 0.0],
|
||||
[-1.1, 0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.9, 0.15, 0.0],
|
||||
[-0.8, 0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.6, 0.15, 0.0],
|
||||
[-0.5, 0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.3, 0.15, 0.0],
|
||||
[-0.2, 0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.0, 0.15, 0.0],
|
||||
[0.1, 0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.3, 0.15, 0.0],
|
||||
[0.4, 0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.6, 0.15, 0.0],
|
||||
[0.7, 0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.9, 0.15, 0.0],
|
||||
[1.0, 0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
-
|
||||
random_config:
|
||||
pos_range: [
|
||||
[1.2, 0.15, 0.0],
|
||||
[1.3, 0.25, 0.0]
|
||||
]
|
||||
yaw_rotation: [-5.0, 5.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: lift2_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: lift2_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "lift2/lift2/lift2/fr/link6"
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: lift2_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "lift2/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
|
||||
|
||||
data:
|
||||
task_dir: "ham_sandwich_lift2"
|
||||
language_instruction: "Pick up the bread with left arm, pick up the cheese with right arm"
|
||||
detailed_language_instruction: "Grasp and lift the bread with the left robotic arm, grasp and lift the cheese with the left robotic arm"
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 3000
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
- # skill_sequences[0]
|
||||
left:
|
||||
- # skill[0]
|
||||
name: dynamicpick
|
||||
objects: [bread_0]
|
||||
filter_z_dir: ["forward", 90]
|
||||
filter_x_dir: ["downward", 150]
|
||||
pick_range: [0.12, 0.2]
|
||||
time_bias: 1.5
|
||||
-
|
||||
name: heuristic__skill
|
||||
mode: home
|
||||
gripper_state: -1.0 # Close gripper
|
||||
right:
|
||||
- # skill[0]
|
||||
name: dynamicpick
|
||||
objects: [cheese_0]
|
||||
filter_z_dir: ["forward", 90]
|
||||
filter_x_dir: ["downward", 150]
|
||||
pick_range: [-0.15, -0.05]
|
||||
time_bias: 1
|
||||
-
|
||||
name: heuristic__skill
|
||||
mode: home
|
||||
gripper_state: -1.0 # Close gripper
|
||||
@@ -0,0 +1,164 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
neglect_collision_names: ["table"]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
right_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
left_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
right_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
ignore_substring: ["material", "Plane", "table", "conveyor", "scene", "oo3d_object2"]
|
||||
tcp_offset: 0.135
|
||||
|
||||
objects:
|
||||
-
|
||||
name: oo3d_object1
|
||||
path: basic/hang_the_cup_on_rack/cup/cup2/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: gift
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90, 0.0, 0.0] # stable init pose
|
||||
scale: [1, 1, 1]
|
||||
-
|
||||
name: oo3d_object2
|
||||
path: basic/hang_the_cup_on_rack/cup_shelf/cup_shelf0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: gift
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90, 0.0, 0.0] # stable init pose
|
||||
scale: [1, 1, 1]
|
||||
|
||||
regions:
|
||||
# Order is important!
|
||||
-
|
||||
object: ${tasks.0.robots.0.name}
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.0, -0.86, -0.725],
|
||||
[0.0, -0.86, -0.725]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
-
|
||||
object: oo3d_object1
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.35, -0.25, 0.0],
|
||||
[-0.2, -0.1, 0.0]
|
||||
]
|
||||
yaw_rotation: [0, 0]
|
||||
-
|
||||
object: oo3d_object2
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.05, -0.25, 0.0],
|
||||
[0.2, -0.2, 0.0]
|
||||
]
|
||||
yaw_rotation: [0,0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "${tasks.0.robots.0.name}/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "${tasks.0.robots.0.name}/lift2/lift2/fr/link6"
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "${tasks.0.robots.0.name}/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
|
||||
data:
|
||||
task_dir: "hang_the_cup_on_rack_part0"
|
||||
language_instruction: "Place cup on the shelf with left arm."
|
||||
detailed_language_instruction: "Place cup on the shelf with the left robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 1000
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: pick
|
||||
objects: [oo3d_object1]
|
||||
pre_grasp_offset: 0.05
|
||||
filter_z_dir: ["upward", 60]
|
||||
filter_x_dir: ["forward", 30]
|
||||
pre_grasp_hold_vec_weight: [1,1,1,0,0,0]
|
||||
post_grasp_offset_min: 0.10
|
||||
post_grasp_offset_max: 0.10
|
||||
-
|
||||
name: place
|
||||
objects: [oo3d_object1, oo3d_object2]
|
||||
place_direction: horizontal
|
||||
filter_z_dir: ["upward", 30]
|
||||
align_pick_obj_axis: [1, 0, 0]
|
||||
align_place_obj_axis: [1, 0, 0]
|
||||
offset_place_obj_axis: [0,0,-1]
|
||||
align_obj_tol: 10 # degree
|
||||
pre_place_align: -0.15
|
||||
place_align: -0.07
|
||||
pre_place_offset: 0.027
|
||||
place_offset: 0.027
|
||||
position_constraint: object
|
||||
x_ratio_range: [0.5,0.5]
|
||||
y_ratio_range: [0.5,0.5]
|
||||
z_ratio_range: [0.72,0.72]
|
||||
success_th: 0.1
|
||||
success_mode: cup
|
||||
@@ -0,0 +1,165 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
neglect_collision_names: ["table"]
|
||||
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
right_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
left_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
right_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
ignore_substring: ["material", "Plane", "table", "conveyor", "scene", "oo3d_object2"]
|
||||
tcp_offset: 0.135
|
||||
|
||||
objects:
|
||||
-
|
||||
name: oo3d_object1
|
||||
path: basic/hang_the_cup_on_rack/cup/cup2/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: gift
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90, 0.0, 0.0] # stable init pose
|
||||
scale: [1, 1, 1]
|
||||
-
|
||||
name: oo3d_object2
|
||||
path: basic/hang_the_cup_on_rack/cup_shelf/cup_shelf0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: gift
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90, 0.0, 0.0] # stable init pose
|
||||
scale: [1, 1, 1]
|
||||
|
||||
regions:
|
||||
# Order is important!
|
||||
-
|
||||
object: ${tasks.0.robots.0.name}
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.0, -0.86, -0.725],
|
||||
[0.0, -0.86, -0.725]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
-
|
||||
object: oo3d_object1
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.25, -0.25, 0.0],
|
||||
[0.35, -0.1, 0.0]
|
||||
]
|
||||
yaw_rotation: [0, 0]
|
||||
-
|
||||
object: oo3d_object2
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.2, -0.25, 0.0],
|
||||
[0.05, -0.2, 0.0]
|
||||
]
|
||||
yaw_rotation: [0,0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "${tasks.0.robots.0.name}/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "${tasks.0.robots.0.name}/lift2/lift2/fr/link6"
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "${tasks.0.robots.0.name}/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
|
||||
data:
|
||||
task_dir: "hang_the_cup_on_rack_part1"
|
||||
language_instruction: "Place cup on the shelf with right arm."
|
||||
detailed_language_instruction: "Place cup on the shelf with the right robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 1000
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
-
|
||||
right:
|
||||
-
|
||||
name: pick
|
||||
objects: [oo3d_object1]
|
||||
pre_grasp_offset: 0.05
|
||||
filter_z_dir: ["upward", 60]
|
||||
filter_x_dir: ["forward", 30]
|
||||
pre_grasp_hold_vec_weight: [1,1,1,0,0,0]
|
||||
post_grasp_offset_min: 0.10
|
||||
post_grasp_offset_max: 0.10
|
||||
-
|
||||
name: place
|
||||
objects: [oo3d_object1, oo3d_object2]
|
||||
place_direction: horizontal
|
||||
filter_z_dir: ["upward", 30]
|
||||
align_pick_obj_axis: [1, 0, 0]
|
||||
align_place_obj_axis: [1, 0, 0]
|
||||
offset_place_obj_axis: [0,0,-1]
|
||||
align_obj_tol: 10 # degree
|
||||
pre_place_align: 0.15
|
||||
place_align: 0.07
|
||||
pre_place_offset: 0.027
|
||||
place_offset: 0.027
|
||||
position_constraint: object
|
||||
x_ratio_range: [0.5,0.5]
|
||||
y_ratio_range: [0.5,0.5]
|
||||
z_ratio_range: [0.72,0.72]
|
||||
success_th: 0.1
|
||||
success_mode: cup
|
||||
@@ -0,0 +1,161 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
neglect_collision_names: ["table"]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
right_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
left_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
right_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
ignore_substring: ["material", "Plane", "table", "conveyor", "scene", "oo3d_object2"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: oo3d_object1
|
||||
path: basic/insert_the_flower_in_vase/flower1/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: gift
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.35, 0.35, 0.35]
|
||||
-
|
||||
name: oo3d_object2
|
||||
path: basic/insert_the_flower_in_vase/vase/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: gift
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90, 0.0, 0.0] # stable init pose
|
||||
scale: [0.25, 0.25, 0.25]
|
||||
|
||||
regions:
|
||||
# Order is important!
|
||||
-
|
||||
object: ${tasks.0.robots.0.name}
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.0, -0.86, -0.725],
|
||||
[0.0, -0.86, -0.725]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
-
|
||||
object: oo3d_object1
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.35, -0.35, 0.0],
|
||||
[-0.20, -0.15, 0.0]
|
||||
]
|
||||
yaw_rotation: [-20, 20]
|
||||
-
|
||||
object: oo3d_object2
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.00, -0.35, 0.0],
|
||||
[0.15, -0.15, 0.0]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "${tasks.0.robots.0.name}/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "${tasks.0.robots.0.name}/lift2/lift2/fr/link6"
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "${tasks.0.robots.0.name}/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
|
||||
data:
|
||||
task_dir: "insert_the_flower_in_vase_part0"
|
||||
language_instruction: "Place flower into the vase with left arm."
|
||||
detailed_language_instruction: "Place flower into the vase with left robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 1000
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: pick
|
||||
objects: [oo3d_object1]
|
||||
grasp_scale: 0.35
|
||||
pre_grasp_offset: 0.15
|
||||
filter_z_dir: ["forward", 30]
|
||||
filter_x_dir: ["downward", 150]
|
||||
pre_grasp_hold_vec_weight: [1,1,1,0,0,0]
|
||||
post_grasp_offset_min: 0.15
|
||||
post_grasp_offset_max: 0.15
|
||||
-
|
||||
name: place
|
||||
objects: [oo3d_object1, oo3d_object2]
|
||||
place_direction: vertical
|
||||
filter_z_dir: ["upward", 30]
|
||||
# filter_z_dir: ["forward", 90]
|
||||
align_pick_obj_axis: [0, 1, 0]
|
||||
align_place_obj_axis: [0, 1, 0]
|
||||
align_obj_tol: 3 # degree
|
||||
pre_place_z_offset: 0.25
|
||||
place_z_offset: 0.14
|
||||
position_constraint: object
|
||||
x_ratio_range: [0.5,0.5]
|
||||
y_ratio_range: [0.5,0.5]
|
||||
success_th: 0.15
|
||||
success_mode: flower
|
||||
@@ -0,0 +1,161 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
neglect_collision_names: ["table"]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
right_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
left_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
right_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
ignore_substring: ["material", "Plane", "table", "conveyor", "scene", "oo3d_object2"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: oo3d_object1
|
||||
path: basic/insert_the_flower_in_vase/flower1/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: gift
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [0, 0.0, 0.0] # stable init pose
|
||||
scale: [0.35, 0.35, 0.35]
|
||||
-
|
||||
name: oo3d_object2
|
||||
path: basic/insert_the_flower_in_vase/vase/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: gift
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90, 0.0, 0.0] # stable init pose
|
||||
scale: [0.25, 0.25, 0.25]
|
||||
|
||||
regions:
|
||||
# Order is important!
|
||||
-
|
||||
object: ${tasks.0.robots.0.name}
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.0, -0.86, -0.725],
|
||||
[0.0, -0.86, -0.725]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
-
|
||||
object: oo3d_object1
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.2, -0.35, 0.0],
|
||||
[0.35, -0.15, 0.0]
|
||||
]
|
||||
yaw_rotation: [-20, 20]
|
||||
-
|
||||
object: oo3d_object2
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.15, -0.35, 0.00],
|
||||
[0.00, -0.15, 0.00]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "${tasks.0.robots.0.name}/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "${tasks.0.robots.0.name}/lift2/lift2/fr/link6"
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "${tasks.0.robots.0.name}/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
|
||||
data:
|
||||
task_dir: "insert_the_flower_in_vase_part1"
|
||||
language_instruction: "Place flower into the vase with right arm."
|
||||
detailed_language_instruction: "Place flower into the vase with right robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 1000
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
-
|
||||
right:
|
||||
-
|
||||
name: pick
|
||||
objects: [oo3d_object1]
|
||||
grasp_scale: 0.35
|
||||
pre_grasp_offset: 0.15
|
||||
filter_z_dir: ["forward", 30]
|
||||
filter_x_dir: ["downward", 150]
|
||||
pre_grasp_hold_vec_weight: [1,1,1,0,0,0]
|
||||
post_grasp_offset_min: 0.15
|
||||
post_grasp_offset_max: 0.15
|
||||
-
|
||||
name: place
|
||||
objects: [oo3d_object1, oo3d_object2]
|
||||
place_direction: vertical
|
||||
filter_z_dir: ["upward", 30]
|
||||
# filter_z_dir: ["forward", 90]
|
||||
align_pick_obj_axis: [0, 1, 0]
|
||||
align_place_obj_axis: [0, 1, 0]
|
||||
align_obj_tol: 3 # degree
|
||||
pre_place_z_offset: 0.25
|
||||
place_z_offset: 0.14
|
||||
position_constraint: object
|
||||
x_ratio_range: [0.5,0.5]
|
||||
y_ratio_range: [0.5,0.5]
|
||||
success_th: 0.15
|
||||
success_mode: flower
|
||||
@@ -0,0 +1,158 @@
|
||||
tasks:
|
||||
-
|
||||
name: banana_base_task # task name
|
||||
asset_root: workflows/simbox/assets
|
||||
task: BananaBaseTask # !! where you specify TASK class
|
||||
task_id: 0
|
||||
|
||||
offset: null
|
||||
render: True
|
||||
|
||||
|
||||
# Arena configuration
|
||||
arena_file: workflows/simbox/core/configs/arenas/pick_randomized_arena.yaml
|
||||
# arena_file: workflows/simbox/core/configs/arenas/scene_arena.yaml
|
||||
|
||||
env_map:
|
||||
envmap_lib: envmap_lib
|
||||
apply_randomization: True
|
||||
intensity_range: [4000, 7000]
|
||||
rotation_range: [0, 180]
|
||||
|
||||
neglect_collision_names: ["table"]
|
||||
|
||||
robots:
|
||||
-
|
||||
name: "lift2"
|
||||
robot_config_file: workflows/simbox/core/configs/robots/lift2.yaml
|
||||
euler: [0.0, 0.0, 90.0]
|
||||
left_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
right_joint_home: [-0.00059017, 0.00374724, 0.00516233, 0.00025332, -0.00105036, -0.00132419]
|
||||
left_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
right_joint_home_std: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
|
||||
ignore_substring: ["material", "Plane", "table", "conveyor", "scene", "oo3d_object2"]
|
||||
|
||||
objects:
|
||||
-
|
||||
name: oo3d_object1
|
||||
path: basic/insert_the_markpen_in_penholder/pen/pen0/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: gift
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [0, 0.0, 0.0]
|
||||
scale: [1, 1, 1]
|
||||
-
|
||||
name: oo3d_object2
|
||||
path: basic/insert_the_markpen_in_penholder/container/container1/Aligned_obj.usd
|
||||
target_class: RigidObject
|
||||
dataset: oo3d
|
||||
category: gift
|
||||
prim_path_child: Aligned
|
||||
translation: [0.0, 0.0, 0.0]
|
||||
euler: [90, 0.0, 0.0]
|
||||
scale: [0.12, 0.12, 0.12]
|
||||
|
||||
regions:
|
||||
# Order is important!
|
||||
-
|
||||
object: ${tasks.0.robots.0.name}
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.0, -0.86, -0.725],
|
||||
[0.0, -0.86, -0.725]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
-
|
||||
object: oo3d_object1
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[-0.28, -0.25, 0.0],
|
||||
[-0.2, -0.15, 0.0]
|
||||
]
|
||||
yaw_rotation: [-20, 20]
|
||||
-
|
||||
object: oo3d_object2
|
||||
target: table
|
||||
random_type: A_on_B_region_sampler
|
||||
random_config:
|
||||
pos_range: [
|
||||
[0.0, -0.25, 0.0],
|
||||
[0.1, -0.15, 0.0]
|
||||
]
|
||||
yaw_rotation: [0.0, 0.0]
|
||||
|
||||
cameras:
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_hand_left
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "${tasks.0.robots.0.name}/lift2/lift2/fl/link6" # todo
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_hand_right
|
||||
translation: [0.07, 0.01, 0.08]
|
||||
orientation: [0.62, 0.33, -0.33, -0.62]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d405.yaml
|
||||
parent: "${tasks.0.robots.0.name}/lift2/lift2/fr/link6"
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.02
|
||||
max_orientation_noise: 2.5
|
||||
-
|
||||
name: ${tasks.0.robots.0.name}_head
|
||||
translation: [0.1, 0.02, 0.03]
|
||||
orientation: [0.6602, 0.2534, -0.2534, -0.6602]
|
||||
camera_axes: usd
|
||||
camera_file: workflows/simbox/core/configs/cameras/realsense_d455_v3.yaml
|
||||
parent: "${tasks.0.robots.0.name}/lift2/lift2/h_link6" # todo: robot base frame
|
||||
apply_randomization: True
|
||||
max_translation_noise: 0.03
|
||||
max_orientation_noise: 5.0
|
||||
|
||||
data:
|
||||
task_dir: "insert_the_markpen_in_penholder_part0"
|
||||
language_instruction: "Place markpen into the container with left arm."
|
||||
detailed_language_instruction: "Place markpen into the container with the left robotic arm."
|
||||
collect_info: ""
|
||||
version: "v3.0, head camerea 1280x720, wrist 640x480, y 45 degrees"
|
||||
update: True
|
||||
max_episode_length: 1000
|
||||
|
||||
skills:
|
||||
-
|
||||
lift2:
|
||||
-
|
||||
left:
|
||||
-
|
||||
name: pick
|
||||
objects: [oo3d_object1]
|
||||
pre_grasp_offset: 0.05
|
||||
filter_z_dir: ["forward", 60]
|
||||
filter_x_dir: ["downward", 160]
|
||||
pre_grasp_hold_vec_weight: [1,1,1,0,0,0]
|
||||
-
|
||||
name: place
|
||||
objects: [oo3d_object1, oo3d_object2]
|
||||
place_direction: vertical
|
||||
filter_z_dir: ["upward", 40]
|
||||
align_pick_obj_axis: [0, 1, 0]
|
||||
align_place_obj_axis: [0, 1, 0]
|
||||
align_obj_tol: 5 # degree
|
||||
pre_place_z_offset: 0.2
|
||||
place_z_offset: 0.1
|
||||
position_constraint: object
|
||||
x_ratio_range: [0.5,0.5]
|
||||
y_ratio_range: [0.5,0.5]
|
||||
post_place_hold_vec_weight: [0,0,0,1,1,0]
|
||||
success_th: 0.15
|
||||
success_mode: flower
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user