Day3 unitree_G1人形机器人“身外化身”基础学习
·
一、项目原始目标
项目核心目标:实现人体动作捕获 → 人形机器人动作复现
整体链路:
诺亦腾动捕服
|
|
PNLink UDP
|
|
PC端动作解析
(xsens_core.exe)
|
|
人体动作数据
|
|
动作重定向
(GMR)
|
|
机器人动作控制
(Unitree G1)
|
|
ONNX优化
|
|
LowCmd
|
|
29个电机执行
原始重点:
- 动作采集
- 人体骨骼数据解析
- 人体动作映射到机器人
- 机器人执行动作
二、项目深入后发现的问题
随着源码分析和系统拆解,发现原方案低估了实际算法复杂度。
原本看似:
采集动作
↓
传给机器人
实际上包含多个核心算法环节:
人体动作
|
|
人体骨骼理解
|
|
坐标转换
|
|
23人体关节
|
|
GMR重定向
|
|
IK求解
|
|
29机器人关节
|
|
运动优化
|
|
控制执行
因此算法工作量远超过简单数据传输。
三、主要新增/修改内容总结
1. 增加人体动作重定向算法模块(核心新增)
人体 → G1动作映射算法
包括:
(1)关节拓扑映射
建立:
人体肩
↓
G1肩部多个自由度
例如:
人体:
Shoulder
Elbow
Wrist
转换:
G1 Shoulder Pitch
G1 Shoulder Roll
G1 Shoulder Yaw
G1 Elbow
(2)bvh_xsens_to_g1.json映射体系
新增理解和使用:
字段:
- source
- position_weight
- rotation_weight
- position_offset
- quaternion_rotation_offset
作用实现:
人体骨骼姿态
↓
机器人关节姿态
(3)IK逆运动学优化
新增:
人体空间位置:
手的位置
脚的位置
身体姿态
转换:
机器人:
关节角度
需要:
- IK求解
- 权重优化
- 关节限制
- 姿态修正
2. 增加机器人29 DOF运动模型理解
原方案:只关注动作发送。
修改后:增加:G1运动结构解析
包括:
左腿
↓
右腿
↓
腰部
↓
左臂
↓
右臂
29个自由度顺序确认,作用保证:
人体动作
↓
正确机器人关节
↓
正确电机
3. 增加机器人运动控制算法分析
机器人不能直接执行人体动作,中间需要:
目标动作
↓
控制器
↓
电机
涉及:
- PD控制
- 阻抗控制
- 姿态跟踪
- 平衡控制
- 关节限位
- 动作平滑
尤其人形机器人:
必须保证:
- 不跌倒
- 姿态稳定
- 动作连续
4. 增加ONNX动作优化模块
新增:
动作输入
↓
ONNX模型
↓
优化动作
↓
LowCmd
包括:
- 模型输入输出接口
- 推理流程
- 实时部署
- 动作优化
5. gRPC通信架构重新设计
原方案:
MocapFrame
↓
gRPC Stream
↓
G1 Controller
发现问题:
gRPC适合:
- 云服务
- RPC调用
不适合:
高频机器人动作流。
问题:
- TCP队头阻塞
- Stream缓存堆积
- 延迟抖动
- 旧动作阻塞新动作
6. 提出gRPC → ZMQ实时通信优化方案
新增:ZeroMQ PUB/SUB通信架构
原:
gRPC Stream
改:
ZMQ PUB/SUB
新结构:
GMR
↓
MotionFrame
↓
ZMQ PUB
↓
网络
↓
ZMQ SUB
↓
G1 Controller
7. 增加MotionFrame实时协议设计
新增MotionFrame Header。包含:
version
frame_id
timestamp
send_time
payload_size
DOF
crc
作用:解决:
- 丢帧
- 乱序
- 延迟统计
8. 增加实时性能评价体系
新增:通信性能测试。
延迟
send_time
↓
receive_time
帧率
FPS
丢帧率
frame_id gap
抖动
Jitter
9. 增加MuJoCo仿真验证体系
原:直接考虑真机。
修改:增加数字孪生验证。
路线:
GMR
↓
ZMQ
↓
MuJoCo G1
↓
ONNX
↓
动作执行
验证:
- 动作映射正确性
- 通信延迟
- 控制稳定性
- 算法效果
四、重新划分后的算法工作内容
模块1:人体动作理解算法
内容:
- 动捕数据解析
- 骨骼结构处理
- 姿态转换
模块2:人体-机器人重定向算法
核心:
- 23→29关节映射
- 坐标转换
- IK优化
- 四元数修正
- 权重调整
模块3:机器人动作生成算法
内容:
- 关节目标生成
- 动作平滑
- 姿态约束
- 稳定控制
模块4:实时动作传输算法
内容:
- MotionFrame设计
- 时间同步
- 丢帧处理
- 最新状态保持
模块5:模型推理算法
内容:
- ONNX部署
- 动作优化
- 实时推理
模块6:仿真验证算法
内容:
- MuJoCo模型
- 虚实一致性验证
- 参数调整
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)