Skip to main content

Interface Requirements

If you want to use TeleXperience to adapt to new robots, you need to confirm that the robot has the following interfaces in advance.

1. Robot Feedback Interface

The robot needs to have a joint position feedback interface.

2. Controller Interface

2.a. With Real-Time End Effector Control Interface

For robots with a real-time end effector control interface, they can directly accept the desired end effector pose sent by TeleXperience.
TeleXperience requires the end effector control interface to have a frequency greater than 100Hz.

2.b. Without Real-Time End Effector Control Interface

For robots without a real-time end effector control interface, you need to use TeleXperience's universal controller to convert the desired end effector pose into desired joint angles.

You can use the code below to generate a test trajectory to check if your robot supports real-time joint control. Copy the code into a Python script and modify the LIMIT under if __name__== "__main__": to the starting and ending positions of the joints you want to test. When you run the code in the terminal of the corresponding folder, a traj.txt file will be generated. It contains trajectory data lasting 5 seconds with a sampling frequency of 100Hz, where each line corresponds to the desired position of each joint at the current moment. You can also modify the frequency f and time t in the code to obtain trajectory data with different sampling frequencies and durations.

import numpy as np

def interpolate(LIMIT, f=100, t=5):
traj = []
DOF = len(LIMIT)
for i in range(DOF):
limit = LIMIT[i]
sap_num = f * t
tr = [limit[0] + k * (limit[1] - limit[0]) / sap_num for k in range(sap_num)]
traj.append(tr)
array = np.array(traj).T
np.savetxt('traj.txt', array, fmt="%.4f")


if __name__== "__main__":
LIMIT = [
[0, 1.5708],
[0, 1.5708],
[0, 1.3],
[0, 1.1],
[0, 1.0],
[0, 1],
[0, 0],
[0, -1.5708],
[0, 1.5708],
[0, -1.3],
[0, 1.1],
[0, -1],
[0, 1],
[0, 0],
]
# f=100
# t=5
interpolate(LIMIT)

3. Robot Image Feedback Interface

The robot needs to be able to publish feedback images as ROS1 or ROS2 messages.