Adaptation Requirements
Prepare URDF File
Please prepare the robot's URDF file with the following requirements:
- Pay attention to joint limits to ensure that the robot's physical structure limits completely match the joint limits in the URDF, preventing self-collision
- The URDF should include all degrees of freedom you wish to control and set them as rotational "revolute" or translational "prismatic" joints, including but not limited to: arms, grippers, dexterous hands, head, lifting torso, waist, base
- For mesh files loaded in the URDF, use reasonably sized models. The total size of all meshes should not exceed 50MB
Joint Feedback Interface Testing
Please obtain joint position feedback for all degrees of freedom of the robot you wish to control, which may include:
- Arms
- Grippers or dexterous hands
- Head
- Waist
- Lifting torso
Integrate all feedback and publish it to the /io_teleop/joint_states topic via ROS1 or ROS2 using the JointState message type.
Require accurate filling of JointState.name according to joint naming in URDF, fill corresponding joint angles (in radians) into JointState.position, and update the timestamp in the header.
Check with the following commands:
rostopic hz /io_teleop/joint_states(ROS1)ros2 topic hz /io_teleop/joint_states(ROS2)
You should see a stable frequency and confirm that the specific values match the robot's physical joint angles and can change dynamically.
For feedback, there is no mandatory requirement for a specific frequency, but you need to ensure that the feedback acquisition interface does not block control interface calls.
If you wish to use teleoperation-collected robot data for training embodied intelligence models in the future, it is recommended to maintain a feedback frequency above 15Hz.
Control Interface Testing
TeleXperience control commands are published at 100Hz. Please confirm that different modules of your robot can respond to control at this frequency.
1. Manipulator
For manipulators, TeleXperience outputs two types of control commands:
a. (Recommended) Joint Space:
TeleXperience has a built-in universal controller that implements the following functions:
- Combines end-effector pose commands obtained from VR with joint references obtained from motion capture, and solves them into smooth joint space commands (in radians)
- Ensures that when the operator issues unreachable motion commands for the manipulator during teleoperation, the manipulator can still maintain response. The response content is the pose closest to the desired command within the reachable space, without stopping response or response jumps when limits are exceeded
You can use this tool to check if your joint space control interface meets requirements. Please read the README and implement the test node according to the instructions.
Please ensure safety during testing!
b. End-effector Cartesian Space:
If you want to use end-effector Cartesian space control, please confirm:
- The end-effector control interface supports 100Hz real-time response without blocking
- When receiving end-effector commands beyond the manipulator's reachable space, the manipulator can still continuously maintain response. The response content is the pose closest to the desired command within the reachable space, without stopping response or response jumps when limits are exceeded
2. End-effector
For grippers or dexterous hands you use, it is best to provide a 100Hz control interface. If this cannot be met, appropriate frequency reduction can be performed during actual robot control.
3. Base and Lifting Torso
Please provide a 100Hz velocity control interface for the base and lifting torso. If this cannot be met, appropriate frequency reduction can be performed during actual robot control.
4. Head, Waist, and Other Body Degrees of Freedom
Please provide a 100Hz joint position control interface. If this cannot be met, appropriate frequency reduction can be performed during actual robot control.
Image Feedback Interface Testing
TeleXperience supports image synchronization. If you wish to synchronously display the robot's perception images in VR, please ensure that image information is published in ROS1 or ROS2 CompressedImage format according to the following specifications:
- Resolution can be: 1920x1080, 1440x1080, 1280x720, 960x720, 640x480
- Frame rate can be: 30fps, 15fps, 10fps
- Supports up to 4 simultaneous image streams
Similarly, use rostopic hz or ros2 topic hz to check image frequency stability.
Industrial Control Computer Environment Requirements
You need to prepare a host with a ROS environment and deploy the robot industrial control computer node on it.
ROS can be ROS1 or ROS2, but ROS2 does not support versions above Humble.
If the robot's built-in development board allows, you can directly deploy the industrial control computer node on the robot development board. Otherwise, please prepare an additional computer with a ROS environment to deploy the industrial control computer node for communication with TeleXperience and the robot.