Context

討論 leggedrobotics/unity_ros_teleoperation 在 Windows + Quest Link 環境下的可行性,以及與 Linux-first 設計的衝突點。

Key Insights

  • Quest Link 解決 headset 問題,但 ROS 端仍是瓶頸:Quest Link 讓 Quest 變成 Windows PCVR 裝置,Unity Editor Play Mode 可直接測試,不需 build APK。真正的挑戰是 ROS TCP Endpoint 需要 Linux 環境
  • WSL2 最常見但有三個固定痛點:(1) IP 不固定,每次重開需 wsl hostname -I 重查並在 App 手動填入;(2) Windows 防火牆預設擋 port 10000,需手動開規則;(3) WSL2 虛擬網卡偶爾不穩需重設。這些都是可解決的小問題,不是致命缺陷
  • 同網段 Linux 機器是最乾淨的選擇:Windows 做開發(Unity Editor + Quest Link),另一台 Linux 跑 ROS,填區域網路 IP 即可,幾乎沒有違和點
  • ROS on Windows 不建議:ROS 1 是 experimental,ROS 2 有部分支援但許多 driver 不完整,社群資源極少
  • Quest Link vs. 獨立 APK 有行為差異:Passthrough 在 PC VR 模式可能不可用;手部追蹤延遲比獨立模式高;部分 Meta 專屬 OpenXR extension(如 XR_FB_hand_tracking_aim)行為不完全一致。最終部署還是應 build APK 跑獨立模式
  • 建議開發流程:Unity Editor + Quest Link(快速迭代)→ WSL2 或同網段 Linux(ROS)→ 最終 build APK sideload(正式部署)

Connections