- uf_starvla_eval.py: eval loop that queries a starVLA WebSocket policy server (e.g. pi05) instead of a local LeRobot policy; reuses robot connect/reset, keyboard control, precise_sleep pacing and the optional ActionSafetyGuard from uf_lerobot_eval.py - utils/starvla_ws_client: vendored WebsocketClientPolicy + msgpack_numpy from starVLA deployment/model_server/tools - config/eval/xarm7_starvla_eval_config.yaml: single-camera eval config - pyproject.toml: uf-starvla-eval entry point + websockets/msgpack deps
58 lines
2.2 KiB
YAML
58 lines
2.2 KiB
YAML
# Real-robot eval config for uf-starvla-eval (external starVLA policy server).
|
|
# Robot section is derived from config/gello/xarm7_gello_record_config.yaml
|
|
# (teleop / dataset / web_preview sections removed).
|
|
robot:
|
|
type: uf::robot
|
|
id: "uf_robot"
|
|
robot_dof: 7
|
|
control_space: "joint"
|
|
# TODO: confirm this is your xArm controller IP.
|
|
robot_ip: "192.168.1.245"
|
|
# 2: xArm Gripper G2 (0-84 mm opening range).
|
|
gripper_type: 2
|
|
enable_logs: false
|
|
# Up to 60 Hz goal updates; unchanged targets are filtered below.
|
|
gripper_command_interval_s: 0.0166667
|
|
# xArm Gripper G2 speed, 15-225 mm/s; 100 is the SDK default.
|
|
gripper_speed: 100
|
|
# xArm Gripper G2 gripping force, 1-100 percent; 50 is the SDK default.
|
|
gripper_force: 50
|
|
# Use the high-frequency servo interface for lower-latency action streaming.
|
|
joint_command_mode: 1
|
|
max_joint_velocity: 120
|
|
# TCP z floor in the xArm base coordinate system (mm).
|
|
min_tcp_z_mm: -2.0
|
|
# CPU-local FK/Jacobian projection keeps ServoJ free of synchronous SDK queries.
|
|
tcp_z_guard_backend: "local_projection"
|
|
tcp_z_soft_margin_mm: 0.5
|
|
local_kinematics_max_error_mm: 2.0
|
|
controller_safety_boundary: true
|
|
# Append gripper initialization/read/write failures here.
|
|
gripper_error_log_path: "logs/xarm7_gripper_errors.log"
|
|
cameras:
|
|
# Single camera view; must match `camera_key` below and the training setup.
|
|
# TODO: fill in the serial number of YOUR RealSense camera.
|
|
camera:
|
|
type: intelrealsense
|
|
serial_number_or_name: "242622070583"
|
|
width: 640
|
|
height: 480
|
|
fps: 30
|
|
|
|
# starVLA policy server address (server binds 0.0.0.0; set the server IP here
|
|
# if the server runs on a different machine).
|
|
server_host: "127.0.0.1"
|
|
server_port: 10093
|
|
|
|
# Control frequency for streaming actions to the robot.
|
|
fps: 30
|
|
# Execute the first N steps of each predicted action chunk (T=50), then re-infer.
|
|
# N=1 means fully closed-loop (re-infer every step).
|
|
steps_per_inference: 25
|
|
single_task: "Pick up the black bottle and place it on the blue bag"
|
|
n_episodes: 50
|
|
# Key of the camera in the robot observation dict (camera name above).
|
|
camera_key: "camera"
|
|
# Enable the action safety guard (thresholds in ActionSafetyConfig).
|
|
enable_safety: false
|