耳机 → UDP → 机械臂
该系统是围绕单向 UDP 桥构建的。 Quest 3 上的 Unity 应用程序读取手部跟踪数据并通过 Wi-Fi 广播二进制姿势数据包。 控制 PC 上的 Python 服务器接收这些数据包,并通过其本机 SDK 将命令转发给机器人。 没有 ROS,没有中间件——只有套接字。
VRHandPoseSender.cs
XR Hands 子系统
二进制数据包·45字节
〜50赫兹
安全验证器
有界队列
工作空间夹紧
紧急停止
实时运动
关键的架构见解:只有机器人控制器模块在手臂模型之间发生变化。 Quest 3 Unity 应用程序、UDP 协议和 Python 服务器基础设施均与 Arm 无关。 从一只手臂切换到另一只手臂需要替换大约 80 行 Python 代码。
您的设置之旅
按照以下步骤从裸机 Quest 3 过渡到您的第一次实时远程操作会话。 在熟悉的系统上大约需要 1-2 小时。
网络和先决条件
将Quest 3与控制PC置于同一局域网内; 验证 UDP 端口 8888/8889 是否打开
Unity应用程序配置
在 Inspector 中设置目标 PC IP、positionOffset、rotationOffset 和 scaleFactor
Python 服务器和依赖项
安装piper_sdk,激活CAN接口,运行teleoper_main.py
Piper_controller.py 演练
上线前了解 connect、set_pose、set_gripper 和 Emergency_stop
安全验证和第一次会议
以 25% 的速度试运行、验证工作空间边界、运行实时远程操作
兼容的机械臂
模块化控制器模式意味着每个手臂仅更改一个 Python 文件。 所有手臂共享相同的 Quest 3 Unity 应用程序和 UDP 协议。
AgileX 派珀
6 自由度手臂 · 通过 USB 适配器的 CAN 总线 · Piper_sdk Python 库
控制器: piper_controller.py
生产就绪开臂
7自由度手臂·SocketCAN/ROS 2 MoveIt2·社区开源
控制器: openarm_controller.py
贝塔DK1 双手套件
双六自由度臂 · 同时使用端口 8888(右)和 8889(左)
控制器: dk1_controller.py
贝塔VLAI L1
双 6 自由度人形手臂 · TCP/IP 上的 ROS 2 桥
控制器: vlai_l1_controller.py
开发中要添加新手臂,请使用五个方法实现控制器类 - connect, disconnect, set_pose, set_gripper, emergency_stop — 并交换 teleoperation_main.py 中的导入。 请参阅 适配器接口指南.
系统概览
指南和参考
SVRC 策划的内容涵盖完整的 Quest 3 远程操作堆栈。