Skip to content

人形机器人关节编排台 + 总控台

核心项目独立开发前端2694行 + 后端1927行

基于 Vue3 + Three.js + Flask 开发智元 G2 人形机器人关节轨迹编辑器,22 关节 + 2 末端,关键帧/遥操双模式录制,100Hz 伺服回放,URDF 3D 实时预览 + 碰撞检测;并集成 robot-web 总控台(FastAPI + WebSocket)。

背景

人形机器人动作工程师缺少可视化工具编辑/预览/校验关节轨迹,裸写 JSON 易出错;同时机器人需要统一的总控台进行导航、底盘遥感、多路相机监控。

技术方案

关节编排台

Flask + SSE 后端(editor_core.py 1927 行)+ Vue3 + Three.js + Rapier 前端(2694 行);URDF + STL/DAE 3D 渲染;关键帧录制 + teleop 40Hz 采样三段后处理(关键帧检测→降采样→相似帧合并);100Hz servo 插补回放;控制权租约 30s 单浏览器独占;PyBullet 碰撞分析(advisory)。

robot-web 总控台

FastAPI + WebSocket(:8000),9 类频道分频率推送(pose 20Hz,其余 1-5Hz);安全中间件(角色校验 → 急停拦截 → 二次确认 → 限速 → 审计);SLAM 导航 + 底盘遥感(阿克曼/蟹行模式)+ 6 路相机预览。

关键难点

  1. GDK 3.1.1 版本硬校验:不匹配拒绝启动,防止 SDK 不兼容
  2. OmniPicker 度数(0..120) ↔ 归一化(-0.785..0) 双向转换:GDK 反馈是度,命令是归一化
  3. 浏览器端 Rapier 碰撞高亮不阻塞运动:WASM 物理引擎实时检测,仅 advisory 提示
  4. 控制权租约防多端冲突:30 秒心跳续租,过期自动停运动 + 录制
  5. 9 类频道分频率 WebSocket 推送:pose 20Hz 高频与其余 1-5Hz 低频按频道隔离,避免带宽浪费

系统截图

关节控制界面 — 3D 预览 + 关节面板

robot-web 总控台 — 总览

robot-web 总控台 — 本体监控

robot-web 总控台 — 地图导航

robot-web 总控台 — 传感器监控

robot-web 总控台 — 传感器监控 2

录屏演示

成果

1927+2694
后端+前端行数
30
REST API 数
22+2
关节+末端
100Hz
伺服回放
9
WebSocket 频道
6
路相机预览

江文翔 · 2027 届应届生作品集