Context
對 ETH Zurich Legged Robotics 團隊的 Unity XR 遠端操控 repo 做深度分析,目標是了解其架構、適用場景與研究潛力。論文:IROS 2024「Radiance Fields for Robotic Teleoperation」(Wilder-Smith et al.)。
Key Insights
- 定位是 VR 視覺化平台而非 policy learning 工具:核心不在於採集 LfD 示教資料,而是讓操作員透過 Quest 3 看到 NeRF/點雲/柵格地圖等豐富感測器視覺化,適合腿足機器人導航與遠端巡查,而非靈巧操控
- ROS 橋接層是 TCP 而非 ROS2 DDS:使用自家 fork 的
ROS-TCP-Connector,Unity ↔ ROS 以 TCP socket 通訊,Unity 端訂閱/發布 ROS message。ROS 2 支援需切到main-ros2分支的 Endpoint - NeRFViewer 是最具研究差異化的組件:訂閱
/nerf_rendertopic,以 ROS 訊息驅動 NeRF 渲染,支援 Continuous/Single/VR 三種渲染模式。整合 Nerfstudio/nerf-teleoperation 論文的成果,在商用 XR 系統中罕見 - Hand 追蹤輸出 MANO 格式 landmarks:OpenXR 21 個關節映射到 MANO hand model,透過
/quest/hand_pose(ManoLandmarksMsg)發布,對接靈巧手控制(如 Psyonic Ability Hand retargeting)有直接路徑 - Haptics 架構分離 BHaptics(TactGlove)與 Oculus 控制器:共用
/quest/haptics(HapticReadings)topic,強度 0–1 歸一化,force 欄位目前未使用。實作觸覺回饋比 OPEN TEACH 等系統更完整 - VoxBlox / Elevation Map 視覺化:VoxbloxMesh 以字典
{(x,y,z) → GameObject}管理 mesh block 更新,GridMap 有自訂 compute shader(Bayer.compute),效能導向 - 適合擴充的機器人模型管線:URDF → URDFConverter 清除模擬用組件 → ModelManager 動態切換。支援 Anymal、B2W、ALMA、GR2、Franka Panda、Dynaarm;新增機器人有完整文件
- 成熟度偏向 demo/實驗室使用:TFManager.cs 與 ROSManager.cs 實作都很薄,許多功能依賴 Unity Editor inspector 手動配置,程式碼成熟度中等。版本 0.1.1,主要貢獻者為 Maximum Wilder-Smith(ETH)