摘要
本文对开源项目 TeleGrip 的架构与源码进行了剖析。该系统基于 LeRobot 框架,通过 VR 端位姿采集—WebSocket 通信—控制循环解算—机械臂执行 的流程,实现虚拟与物理空间的实时映射。前端采用 A-Frame 进行手柄姿态获取与可视化,后端以 Python 实现命令队列、插值与逆运动学计算,并同步驱动 PyBullet 仿真与 SO100 实体机械臂。该框架具有低延迟、高扩展性等特点,可用于 VR 遥操作、具身智能及多模态交互研究。
项目背景与价值
该系统允许用户通过 VR 头显使用手柄抓取虚拟物体,现实中的机械臂同步完成同样的动作。核心在于实现'虚拟到现实'的信号映射与控制闭环。

项目地址:https://github.com/DipFlip/telegrip
环境配置与运行指南
环境配置总结如下表所示:
| 项目类别 | 内容说明 | 示例命令 / 备注 |
|---|---|---|
| 硬件要求 | 机器人硬件 | 一台或两台 SO100 机械臂(USB 串口连接) |
| 软件环境 | Python 环境 | Python ≥ 3.8,并安装相关依赖包 |
| VR 设备(可选) | VR 头显 | Meta Quest / 其他支持 WebXR 的设备(无需额外安装应用) |
| 基础依赖项目 | 安装 LeRobot(基础功能库) | https://github.com/huggingface/lerobot.git |
| TeleGrip 主程序 | 安装 TeleGrip(VR 控制端) | https://github.com/DipFlip/telegrip.git |
| 证书配置 | SSL 证书自动生成 | 若未检测到 cert.pem 与 key.pem,系统会自动创建 |
| 手动生成证书(可选) | 使用 OpenSSL 生成自签名证书 | openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -sha256 -days 365 -nodes -subj "/C=US/ST=Test/L=Test/O=Test/OU=Test/CN=localhost" |
| 运行验证 | 启动 TeleGrip 测试服务 | 在 TeleGrip 根目录运行示例脚本,确认 VR 与机械臂通信正常 |
项目是在 LeRobot 的基础上进行的二次开发,使用硬件为典型 6 自由度入门机械臂 SO100。VR 头显为 Meta Quest,主要用于采集手柄的位姿信息,采用 VR 端的浏览器插件 A-FRAME,对硬件本身要求不高。
项目配置环境时首先要配置 SO100 机械臂的驱动,其中包含详细的配置流程。在执行完 pip install -e . 后,需再运行 pip install 'lerobot[feetech]',才能正常运行项目。安装完成后可执行 example 1 进行验证。



此处对应数据采集部分。
此处对应数据统一处理并发送。
此处对应数据 IK 解算、数据发送。