robot: type: uf::robot id: "uf_robot" robot_dof: 7 control_space: "joint" 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: 50 # xArm Gripper G2 gripping force, 1-100 percent; 50 is the SDK default. gripper_force: 1 # Use the high-frequency servo interface for lower-latency GELLO tracking. 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: camera: type: intelrealsense serial_number_or_name: "242622070583" width: 640 height: 480 fps: 30 camera2: type: intelrealsense serial_number_or_name: "148522072685" width: 640 height: 480 fps: 30 # Redundant args, indicating the initial pose of xarm7. Set by 192.168.1.245:18333 # start_joints: [0, -30, 0, 0, 0, 30, 0] # make sure to edit with your correct configurations! teleop: type: uf::gello_teleop id: "gello_teleop" # Independent GELLO -> xArm command loop; dataset.fps remains the recording rate. realtime_control_fps: 60 port: "/dev/serial/by-id/usb-FTDI_USB__-__Serial_Converter_FTB9HYVD-if00-port0" joint_ids: [1, 2, 3, 4, 5, 6, 7] joint_signs: [1, 1, 1, 1, 1, 1, 1] gripper_id: 8 gripper_open_deg: 198.28125 gripper_close_deg: 155.75 # Lossy browser preview of the frames already captured for the dataset. # JPEG encoding and network I/O run in the background; preview frames are # dropped instead of delaying the 30 Hz recorder or 60 Hz GELLO control loop. web_preview: enabled: false host: "0.0.0.0" port: 8765 fps: 8 width: 480 jpeg_quality: 65 dataset: # Dataset path relative to the directory where the command is started. root: "datasets/xarm7_gello_pick_potato_chips" repo_id: "ufactory/xarm7_gello_pick_potato_chips" single_task: "Pick up the potato chips and drop." # Cameras deliver 30 Hz; arm ServoJ remains independently fixed at 60 Hz. fps: 30 episode_time_s: 60 # max duration for one episode reset_time_s: 20 # time for resetting env between episodes push_to_hub: False