跳到主要内容

适配要求

准备URDF文件

请您准备好机器人的URDF文件,要求:

  1. 关注各关节的限位,确保机器人的实机结构限位与URDF中的关节限位完全匹配,不会发生自身碰撞
  2. URDF中应包含您所希望控制的全部自由度并设置为旋转"revolute"或平动"prismatic"关节,包括但不限于:手臂、夹爪、灵巧手、头、升降躯干、腰、底盘
  3. 对于URDF中加载的mesh文件,应使用合理大小的模型,全部mesh总和不应超过50MB

关节反馈接口测试

请您获取到希望控制的机器人各自由度的关节位置反馈,可能包括:

  • 手臂
  • 夹爪或灵巧手
  • 升降躯干

将所有的反馈整合起来,通过ROS1或ROS2以 JointState 消息类型发布到 /io_teleop/joint_states 话题中。

要求按照URDF中的关节命名准确的填写 JointState.name,将对应的关节角(弧度制)填写到 JointState.position,并更新header中的时间戳

通过以下命令检查:

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

能够看到稳定的频率,并且确认具体的数值与机器人实机关节角匹配且可动态随变即可。

对于反馈,不强制要求具体的频率,但需要保证获取反馈的接口不会阻塞控制接口的调用。

若您希望后续将遥操作采集到的机器人数据用于训练具身智能模型,推荐您保障反馈频率在15Hz以上。

控制接口测试

TeleXperience的控制指令发布频率皆为100Hz,请您确认机器人的不同模块可以响应该频率下的控制

1. 机械臂

对于机械臂,TeleXperience会输出两种控制指令:

a.(推荐)关节空间:

TeleXperience内置通用控制器,通用控制器实现了如下功能:

  • 将VR获取到末端位姿指令与从动捕获取到了关节参考结合,并解算为平滑的关节空间指令(弧度制)
  • 保障了当人在遥操作过程中发出了机械臂不可达的动作指令时,机械臂也可以保持响应,响应内容为可达空间内与期望指令最接近的姿态,不会出现超限即停止响应或者响应跳变的情况

您可以使用此处工具检查您的关节空间控制接口是否满足要求,请您阅读README并按照指引实现测试节点。

注意

在测试过程中,请注意保障安全!

b. 末端笛卡尔空间:

若您想要使用末端笛卡尔空间控制,请确认:

  • 末端控制接口支持100Hz的实时响应,无阻塞
  • 当接收到超出机械臂可达空间的末端指令时,机械臂仍可持续保持响应,响应内容为可达空间内与期望指令最接近的位姿,不会出现超限即停止响应或者响应跳变的情况

2. 末端执行器

对于您使用的夹爪或者灵巧手,最好提供100Hz的控制接口,若无法满足,可在进行实机控制时做相应的降频处理。

3. 底盘、升降躯干

请提供100Hz的底盘、升降躯干速度控制接口,若无法满足,可在进行实机控制时做相应的降频处理。

4. 头、腰等其他身体自由度

请提供100Hz的关节位置控制接口,若无法满足,可在进行实机控制时做相应的降频处理。

图像反馈接口测试

TeleXperience支持图像同步,若您希望在VR内同步显示机器人的感知图像,请确保按照以下规格,将图像信息以ROS1或ROS2CompressedImage格式发布出来

  • 分辨率可以为:1920x1080, 1440x1080, 1280x720, 960x720, 640x480
  • 帧率可以为:30fps, 15fps, 10fps
  • 最多同时支持4路图像的显示

同样的,使用 rostopic hzros2 topic hz 来检查图像频率的稳定。

工控机环境要求

需要准备一个具有ROS环境的主机,在其上部署机器人工控机节点。

ROS可以选择ROS1或ROS2,但是ROS2不支持 Humble以上版本

若机器人自带开发板允许,可直接将工控机节点部署在机器人开发板上;否则,请您额外准备一台具有ROS环境的电脑以部署工控机节点,实现与TeleXperiece和机器人的通信。