Files
starvla_benchmark/replay_config.yaml
2026-06-25 17:48:29 +08:00

203 lines
7.1 KiB
YAML

# ============================================================
# R1Pro-Dex LeRobot replay config (fastsim)
# Derived from benchmark.yaml, adapted for offline trajectory
# replay driven by replay_lerobot.py.
#
# Differences vs benchmark.yaml (intentional):
# - root_paths fixed for THIS machine.
# - kujiale scene + can/book objects dropped (objects are NOT
# replayed; the lid-on-cup trajectory is unrelated to that room),
# replaced by a ground plane for fast load & clear viewing.
# - NO replay / benchmark / policy_server extensions: the motion is
# driven from Python (hands set directly, arms solved via IK).
# - only data_collect + record extensions remain, to record the
# replayed motion back out (hdf5 + video).
# ============================================================
general:
root_paths:
asset: /home/zhiyuan/zhujuan/joysim_exp/gen_data/data
output: /home/zhiyuan/zhujuan/joysim_exp/output
simulation:
stereotype: isaaclab
dt: 0.008333333333333333 # 1/120 -> 8 sim steps per 15fps data frame (more IK convergence)
launch_config:
device: cuda
enable_cameras: true
headless: true # set false to watch live; true records faster
livestream: 0
scene:
name: r1pro_dex_lerobot_replay
position: [0, 0, 0]
rotation: [1, 0, 0, 0]
base_config:
name: default_base
stereotype: ground_plane
ground_plane_size: [100, 100]
robot_cfg_dict:
r1pro_dex:
name: r1pro_dex
asset_path: asset://robots/r1pro/r1pro_dex.usd
position: [0, 0, 0]
rotation: [1, 0, 0, 0]
stereotype: modular_robot
source: local
# init pose copied from benchmark.yaml (defines the starting EE pose
# that the delta-pose arm replay is anchored to).
init_joint_position:
torso_joint1: 0.0
torso_joint2: 0.0
torso_joint3: 0.0
torso_joint4: 0.0
# palms-down init (back of hand up): verified ee_link +X palm-normal -> ~[0,0,-1]
# (down-score 0.97 on both hands), within joint limits.
left_arm_joint1: -0.2
left_arm_joint2: 0.6
left_arm_joint3: 0.0
left_arm_joint4: -1.6
left_arm_joint5: -2.3
left_arm_joint6: -0.33
left_arm_joint7: 0.0
right_arm_joint1: -0.2
right_arm_joint2: -0.6
right_arm_joint3: 0.0
right_arm_joint4: -1.6
right_arm_joint5: 2.3
right_arm_joint6: -0.33
right_arm_joint7: 0.0
actuator_cfg_dict:
left_arm:
stereotype: arm
joint_names_expr: [left_arm_joint1, left_arm_joint2, left_arm_joint3, left_arm_joint4, left_arm_joint5, left_arm_joint6, left_arm_joint7]
stiffness: 60000.0
damping: 4000.0
right_arm:
stereotype: arm
joint_names_expr: [right_arm_joint1, right_arm_joint2, right_arm_joint3, right_arm_joint4, right_arm_joint5, right_arm_joint6, right_arm_joint7]
stiffness: 60000.0
damping: 4000.0
left_hand:
stereotype: arm
joint_names_expr: [left_thumb_CMC_FE, left_thumb_CMC_AA, left_thumb_MCP_FE, left_thumb_MCP_AA, left_thumb_IP, left_index_MCP_FE, left_index_MCP_AA, left_index_PIP, left_index_DIP, left_middle_MCP_FE, left_middle_MCP_AA, left_middle_PIP, left_middle_DIP, left_ring_MCP_FE, left_ring_MCP_AA, left_ring_PIP, left_ring_DIP, left_pinky_CMC, left_pinky_MCP_FE, left_pinky_MCP_AA, left_pinky_PIP, left_pinky_DIP]
stiffness: 50.0
damping: 5.0
right_hand:
stereotype: arm
joint_names_expr: [right_thumb_CMC_FE, right_thumb_CMC_AA, right_thumb_MCP_FE, right_thumb_MCP_AA, right_thumb_IP, right_index_MCP_FE, right_index_MCP_AA, right_index_PIP, right_index_DIP, right_middle_MCP_FE, right_middle_MCP_AA, right_middle_PIP, right_middle_DIP, right_ring_MCP_FE, right_ring_MCP_AA, right_ring_PIP, right_ring_DIP, right_pinky_CMC, right_pinky_MCP_FE, right_pinky_MCP_AA, right_pinky_PIP, right_pinky_DIP]
stiffness: 50.0
damping: 5.0
torso:
stereotype: arm
joint_names_expr: [torso_joint1, torso_joint2, torso_joint3, torso_joint4]
stiffness: 100000.0
damping: 8000.0
base_lock:
stereotype: arm
joint_names_expr: [steer_motor_joint1, steer_motor_joint2, steer_motor_joint3, wheel_motor_joint1, wheel_motor_joint2, wheel_motor_joint3]
stiffness: 100000.0
damping: 5000.0
arm_modules:
left_arm:
arm_actuator_name: left_arm
ee_link_name: left_hand_C_MC
ee_type: dexterous_hand
ee_actuator_name: left_hand
right_arm:
arm_actuator_name: right_arm
ee_link_name: right_hand_C_MC
ee_type: dexterous_hand
ee_actuator_name: right_hand
extra_modules:
torso:
actuator_name: torso
use_planner: false
sensor_cfg_dict:
# Ego/head view, attached to the robot head — comparable to the source
# dataset's observation.images.ego_view.
head_camera:
name: head_camera
stereotype: camera
data_types: [rgb]
width: 1280
height: 720
camera_model: pinhole
fix_camera: true
focal_length: 2.8
horizontal_aperture: 4.890881131191918
vertical_aperture: 2.7608816125932627
convention: opengl
attach_to:
target_name: r1pro_dex
is_articulation_part: true
articulation_part_name: zed_link
create_fixed_joint: true
local_position: [0.0, 0.0, 0.0]
local_rotation: [0.33, 1.0, -0.0, 0.0]
# Third-person view of the whole robot.
front_camera:
name: front_camera
stereotype: camera
position: [2.2, 0.0, 1.4]
look_at:
is_point: true
look_at_point: [0.0, 0.0, 1.0]
data_types: [rgb]
width: 1280
height: 720
camera_model: pinhole
fix_camera: true
light_cfg_dict:
sun:
name: sun
stereotype: general_light
light_type: distant
position: [0, 0, 5]
rotation: [1, 0, 0, 0]
intensity: 1000
angle: 0.53
color: [1.0, 1.0, 1.0]
sky:
name: sky
stereotype: general_light
light_type: dome
intensity: 10.0
color: [1.0, 1.0, 1.0]
extension:
extension_cfg_dict:
data_collect:
enable: true
stereotype: data_collect
observer_cfgs:
- stereotype: robot_observer
name: r1pro_dex
observe_joint_positions: true
observe_joint_velocities: true
observe_joint_position_targets: true
observe_ee_pose: true
- stereotype: sensor_observer
name: head_camera
observe_rgb: true
- stereotype: sensor_observer
name: front_camera
observe_rgb: true
record:
enable: true
stereotype: record
backend_root_path: output://benchmark_replay_record
data_collector_name: data_collect
record_backend: lfs
record_fps: 15 # matches the source dataset fps
use_recorder_step: true
record_scene: true
postprocess_list: [hdf5, video, preview_video]