vr_pose_publisher

用于遥操作的 VR 位姿桥接。

访问说明

可通过 fa-py-libraries(公开)使用,也可作为独立软件包(私有)使用。

支持的头显

头显

支持级别

说明

Pico 企业版

推荐

USB 网络共享;App 与消费版 Pico 不同

Pico 消费版

支持

使用自己的 App(不是企业版 App);本文不记录 USB 网络共享路径

Meta Quest

支持

消费级产品更容易买到

Pico 企业版与消费版

Pico 企业版 与 Pico 消费版 不是同一 SKU:

  1. 企业版支持 USB 网络共享。

  2. 它们使用不同的头显 App — 不要安装一个 App 就期望同时覆盖两者。

fa-py-libraries 将 XRoboToolkit 记为「XRoboToolkit App + PC Service」对比浏览器 WebXR(./run.sh vr / ./run.sh vr-xrt)。它不为任一 Pico 版本提供商店链接或 ADB 步骤。

用途

将 VR 追踪数据桥接到 ROS 2 话题:

  • 头部追踪

  • 手柄位姿

  • 按键状态

模式

Pico 和 Meta Quest 都支持 WebXR (Vuer) 和 XRoboToolkit 后端。从 fa-py-libraries 启动(先 ./init.sh all)。没有 ./run.sh vr --mode 参数。

Web 模式(WebXR/Vuer)

cd fa-py-libraries
./run.sh vr

打开可从 VR 头显浏览器访问的 WebXR 会话。

XRoboToolkit 模式

原生应用——延迟更低,建议用于生产环境:

./init.sh install-xrobotoolkit-pc-service
./init.sh install-xrobotoolkit
./run.sh vr-xrt-service
./run.sh vr-xrt

需要在头显上安装与版本匹配的 XRoboToolkit App(企业版 ≠ 消费版 Pico App)。./run.sh vr-xrt-service stop 关闭 PC Service。

发布的话题

话题

类型

频率

描述

/teleop/left_ee_pose

PoseStamped

90Hz

左手柄

/teleop/right_ee_pose

PoseStamped

90Hz

右手柄

/teleop/head_pose

PoseStamped

90Hz

头显

/teleop/left_trigger

Bool

事件

左扳机

/teleop/right_trigger

Bool

事件

右扳机

配置

vr_pose_publisher:
  frame_id: base_link
  publish_rate: 90
  
  controller_mapping:
    left: left_ee
    right: right_ee

机器人侧的 VR 接入是另一处:在描述包 config/ocs2/target_manager.yaml 中设置 enable_vr: true(多数机型默认关闭)。同一文件还有 vr_update_rate、vr_follow_frame。按键表与跟随坐标系排查见 VR 遥操作。

网络设置

  • Pico 企业版: USB 网络共享可将头显与电脑放在同一网络。使用头显界面;此处不写 ADB 步骤。

  • Pico 消费版 / Quest: 本文仅记录 Wi-Fi(或其他 IP)。

若 VR 设备在不同网络:使用 Zenoh 或 DDS 发现、防火墙、匹配的 Domain ID。

证书

安全说明

WebXR 需要 HTTPS。证书由用户自行生成,不应提交到版本控制。