Skip to main content

Interface Requirements

Prepare the URDF File

Please prepare your robot's URDF file with the following requirements:

  1. Ensure joint limits in the URDF match the physical robot exactly to prevent self-collision.
  2. The URDF should include all degrees of freedom you wish to control, set as "revolute" or "prismatic" joints. This includes, but is not limited to: arm, gripper, dexterous hand, head, lift torso, waist, chassis.
  3. Mesh files referenced in the URDF should be reasonably sized, with the total size not exceeding 50MB.

Joint Feedback Interface Testing

You need to obtain joint position feedback for all controllable degrees of freedom, which may include:

  • Arm
  • Gripper or dexterous hand
  • Head
  • Waist
  • Lift torso

Aggregate all feedback and publish it as a JointState message to the /io_teleop/joint_states topic via ROS1 or ROS2.

Make sure to use the exact joint names as in the URDF for JointState.name, fill in the corresponding joint angles (in radians) in JointState.position, and update the header timestamp.

Check with the following commands:

  1. rostopic hz /io_teleop/joint_states (ROS1)
  2. ros2 topic hz /io_teleop/joint_states (ROS2)

You should see a stable frequency, and the values should match the actual robot's joint angles and update dynamically.

There is no strict requirement for feedback frequency, but the feedback interface must not block control commands.

If you plan to use teleoperation data for training embodied AI models, a feedback frequency above 15Hz is recommended.

Control Interface Testing

TeleXperience sends control commands at 100Hz. Please ensure all robot modules can respond at this frequency.

1. Manipulator Arm

TeleXperience outputs two types of control commands for the arm:

TeleXperience includes a universal controller that:

  • Combines VR end-effector pose commands and motion capture joint references, generating smooth joint space commands (in radians).
  • Ensures that if unreachable commands are sent, the arm still responds with the closest possible pose within its workspace, avoiding abrupt stops or jumps.

You can use this tool to check if your joint space control interface meets the requirements. Please read the README and follow the instructions to implement the test node.

warning

Ensure safety during testing!

b. End-Effector Cartesian Space Control:

If you wish to use Cartesian space control, ensure:

  • The interface supports real-time 100Hz response without blocking.
  • When receiving unreachable commands, the arm still responds with the closest possible pose within its workspace, without abrupt stops or jumps.

2. End Effectors

For grippers or dexterous hands, a 100Hz control interface is preferred. If not possible, reduce the frequency as needed during real robot operation.

3. Chassis and Lift Torso

Provide 100Hz velocity control interfaces for the chassis and lift torso. If not possible, reduce the frequency as needed during real robot operation.

4. Head, Waist, and Other Body DOFs

Provide 100Hz joint position control interfaces. If not possible, reduce the frequency as needed during real robot operation.

Image Feedback Interface Testing

TeleXperience supports image synchronization. If you want to display the robot's perception images in VR, publish them in ROS1 or ROS2 CompressedImage format with the following specs:

  • Supported resolutions: 1920x1080, 1440x1080, 1280x720, 960x720, 640x480
  • Supported frame rates: 30fps, 15fps, 10fps
  • Up to 4 image streams can be displayed simultaneously

Use rostopic hz or ros2 topic hz to check for stable image frequency.

Industrial PC Environment Requirements

Prepare a host machine with a ROS environment to run the robot control node.

You may use ROS1 or ROS2, but ROS2 versions above Humble are not supported.

If your robot's onboard computer allows, you can deploy the control node directly on it. Otherwise, prepare an additional computer with ROS to run the control node and enable communication between TeleXperience and the robot.