# TG3 天工 3.0 本地同构臂遥操 本仓库保存 TS1P 同构臂经 OmniSocket 控制天工 3.0 双臂、BrainCo Revo2 双手和 HBWALK 前后/转向所需的自写代码。它不包含、不修改 xTELE、机器人厂家 控制源码或 OmniSocketGo 本体。 ## 目录 - `tg3_omnisocket_transport/`:部署到 EAI 工控机;从 xTELE 的本机 5003/5001 读取数据,仅在左 Z + 右 C 连续 3 秒开启后注册并发送,STOP 后立即断开。 - `tg3_local_teleop/`:部署到机器人 Nvidia;直接接收 OmniSocket 数据,发布双臂、 双手及 `/hric/robot/cmd_vel`,并提供限速回 Home。 - `docs/`:可提交的跨机器人迁移步骤。含实测帧和现场拓扑的汇报/证据文档只保留在 当前本地工作副本,不同步到匿名可读的远端仓库。 ## 外部依赖(不随仓库提交) 两端都需要单独安装 OmniSocketGo 的 Python 扩展。当前验证版本为: ```text https://gitea.public.snrc.site/limingjie/OmniSocketGo.git commit de3f5c96779dbe1571c10feb22fc7f2331b6b222 ``` EAI 还需已安装并运行 xTELE;机器人端需已有 ROS 2 Jazzy、厂家消息包与驱动。 详见 [`docs/天工3.0本地同构臂遥操迁移部署指南.md`](docs/天工3.0本地同构臂遥操迁移部署指南.md)。 OmniSocket Python 扩展包含本机架构代码,必须分别在 EAI 和机器人上从上述固定提交 原生执行 `make python-ext`,不能复制另一种 CPU 或 Python 版本生成的 `.so`。 提交或部署前可运行 `./verify.sh` 完成两端协议、手势、接收端刷新、Python 编译和 TOML 解析检查。若还要核对外置 OmniSocketGo 版本,可设置任务专用环境变量 `OMNISOCKETGO_DIR=/path/to/OmniSocketGo` 后再运行。 ## 当前按键 - 左 Z + 右 C 连续 3 秒:开始遥操;再次连续 3 秒:结束并限速回 Home。 若 Hub 尚未运行,本次长按只检测一次并立即结束,不发送控制数据;服务器启动后须先 稳定松开,再重新长按 3 秒。pending 和活动会话都不会自动重试或自动恢复。 - 右 C + 左摇杆上下:HBWALK 前进/后退。 - 左 Z + 右摇杆左右:HBWALK 原地转向。 - 右 B 连续 3 秒:右手进入厂商“单食指”姿态;松开至少 0.5 秒后再次连续 3 秒退出。手指动作继续受 `400 units/s` 限速。 ## 迁移前必须修改 至少核对并修改服务器地址、两端 Peer ID、同构臂 ID、直连回退 IP、安装用户名和 路径。`config.toml` 中的 14 关节 Home 是当前实机采集值,不能直接用于另一台机器人; 必须在新机器人上重新采集并完成低速验证。所有厂家默认限位、碰撞、电流和急停保护 保持不变。 运行产生的 `status.json`、日志、Python 缓存及 ROS 构建目录已由 `.gitignore` 排除。 ## 安全与仓库可见性 这是物理机器人控制项目。启动带 `--allow-publish` 的服务、测试手势、行走或回 Home 前,必须确认机器人处于 HBWALK,防护和急停有效,双臂、灵巧手与行走区域净空。 仓库保留了现场 Hub 地址、设备/Peer ID、内网地址、当前实机 Home 姿态,以及标记为 `Proprietary` 的 ROS 消息定义,建议 Gitea 仓库保持私有。原厂 SDK 文档和 PDF 未收入 仓库,避免上传其中的下载授权码、Wi-Fi 信息及版权资料。