4.9 KiB
TG3 天工 3.0 本地同构臂遥操
本仓库保存 TS1P 同构臂经 OmniSocket 控制天工 3.0 双臂、BrainCo Revo2 双手和 HBWALK 前后/转向所需的自写代码。它不包含、不修改 xTELE、机器人厂家 控制源码或 OmniSocketGo 本体。
目录
tg3_omnisocket_transport/:部署到 EAI 工控机;从 xTELE 的本机 5003/5001 读取数据,仅在左 Z + 右 C 连续 3 秒开启后注册并发送,STOP 后立即断开;还包含 不走公网时在 EAI 运行kcpserver的本地 Hub 用户服务模板。tg3_local_teleop/:部署到机器人 Nvidia;直接接收 OmniSocket 数据,发布双臂、 双手及/hric/robot/cmd_vel,提供限速回 Home,并独立录制控制数据 MCAP。tg3_data_collection/:部署在本机;通过本地 SSH/rsync 拉取已完整收尾并校验的 episode,原子保存到Data_Get/。不会删除机器人上的备份。Data_Get/:最终数采目录。实际 MCAP、清单和同步状态默认不提交 Git。docs/:可提交的跨机器人迁移步骤。含实测帧和现场拓扑的汇报/证据文档只保留在 当前本地工作副本,不同步到匿名可读的远端仓库。
外部依赖(不随仓库提交)
两端都需要单独安装 OmniSocketGo 的 Python 扩展。当前验证版本为:
https://gitea.public.snrc.site/limingjie/OmniSocketGo.git
commit de3f5c96779dbe1571c10feb22fc7f2331b6b222
EAI 还需已安装并运行 xTELE;本地 Hub 模式必须保留完整 OmniSocketGo 源码并编译
bin/kcpserver。机器人端需已有 ROS 2 Jazzy、厂家消息包与驱动。
详见
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 连续 1 秒:右手进入厂商“单食指”姿态;松开至少 0.5 秒后再次连续
1 秒退出。手指动作继续受
400 units/s限速。 - 左摇杆按下(L3)连续 1 秒:开始数采;松开至少 0.5 秒后再次连续 1 秒: 结束并保存。只有遥操已开启时才接受;Z+C 结束遥操或安全解除会自动结束数采。
数采保存
Nvidia 独立服务录制明确白名单内的机器人实测状态、双臂/双手命令与反馈、行走、
IMU、电源状态、xTELE 应用帧以及头/腰 Orbbec 的 RGB-D。RGB 使用标准 JPEG 压缩流,
16 位深度使用无损 compressedDepth PNG,并同时保存相机内参与静态 TF;腰部相机是
必采,头部相机未启动时不阻塞,之后启动即可被同一录制自动发现。它不接管或停止厂家
/record_bag_node,也不录点云。正常结束后先校验 MCAP、生成 SHA-256
manifest.json 和 READY,再由
本机服务拉取到:
/home/ps/Desktop/TG3_TS1P_OmniSocket_Teleop/Data_Get/<episode_id>/
传输中断只会留在 Data_Get/.incoming/,不会显示为完成 episode;机器人端 ready
副本不会自动删除。部署、状态检查和恢复步骤见 tg3_data_collection/README.md。
迁移前必须修改
至少核对并修改服务器地址、两端 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 信息及版权资料。