新闻详情

新闻详情

首页 / 资讯中心 / 详情

一次成功流水账——众擎T800推理复现

发布时间:2026/10/1 16:02:20来源:尧图网络
一次成功流水账——众擎T800推理复现
用 AI 一步步引导在 MuJoCo 仿真中复现众擎 T800 机器人行走推理一、背景介绍众擎EngineAI开源了人形机器人 T800 的完整 SDK —— engineai_robotics_native_sdk其中提供了机器人的 XML 模型、URDF 模型和 Mesh 贴图文件以及多种预训练策略包括跳舞、走路等。我们的目标是使用走路的预训练策略t800_260318_150533_60000.mnn在 MuJoCo 仿真环境中让 T800 机器人走起来。核心难点在于即便将 MNN-CODE 和 policy 模型都准备好让大模型直接写一个完整的推理脚本也非常困难。大模型很难一步到位地理解机器人结构、仿真接口、MNN 推理流程之间的复杂关系。解决方法通过一系列精心设计的 prompt一步步引导 AI 完成从环境验证到最终行走的完整流程。本文记录了这一过程希望能帮助有类似需求的开发者。二、环境准备# 创建 conda 环境 conda create --name t800 python3.11 conda activate t800 # 安装依赖 pip install mujoco3.4 pip install numpy2.3.5 pip install -U MNN说明MuJoCo 是 DeepMind 开源的物理仿真引擎广泛用于机器人强化学习MNN 是阿里巴巴开源的轻量级推理引擎众擎的策略模型以.mnn格式提供。三、核心思路为什么需要一步步引导直接对 AI 说用 MNN 模型让 T800 在 MuJoCo 里走路AI 很难给出可运行的代码。原因在于机器人结构未知T800 有多少关节每个关节的自由度和力矩范围是什么仿真接口不熟MuJoCo 的qpos、qvel、ctrl等数据如何与机器人关节对应MNN 推理流程复杂观察空间observation怎么构造动作action怎么映射到关节调试需要过程初始高度、动作缩放、PD 控制器参数都需要逐步调整。因此我们将整个流程拆解为17 个步骤每一步只解决一个问题逐步构建出完整的推理系统。四、分步实施阶段一环境验证与模型加载步骤 1验证 MuJoCo 环境Prompt帮我写一个脚本验证 mujoco 的环境写一个木块掉落的视频木块的模型以 xml 格式编写可视化代码以 01 开头。目的确认 MuJoCo 安装正确能正常加载模型并渲染。步骤 2加载 T800 机器人模型Prompt帮我写一个 02 python 代码把 t800.xml 众擎机器人加载到 mujoco 仿真世界中。目的确认 T800 的 XML 模型能被 MuJoCo 正确解析和加载。阶段二机器人结构认知步骤 3打印机器人关节信息Prompt帮我写一个新的 03 的 demo 代码python 实现打印 t800 机器人身上的全部的 joint最小化编程方便教学理解。目的了解 T800 有哪些关节为后续控制做准备。步骤 4打印机器人连杆Link信息Prompt帮我写一个 04 的 demo 代码把机器人全身的 link 给打印出来打印名字打印世界坐标系的位置信息。目的了解机器人的连杆结构和空间位置关系。步骤 5可视化连杆名称和坐标Prompt帮我写一个 05 的 demo 代码使用 matplotlib 把全身的连杆的名称和位置坐标可视化的表示出来并保存图片下来。目的通过可视化直观理解机器人的空间结构。步骤 6多视角查看连杆Prompt帮我写一个 06 的 demo 代码给出 05_python_visualize_t800_links.py 对应的正视和侧视图视角并保存对应的图片下来。目的从不同角度观察机器人结构加深理解。步骤 7查看关节数、自由度数、主动关节数Prompt帮我写个 07 代码查看机器人的关节数量自由度数量主动关节数量。目的从模型层面了解机器人的运动能力。步骤 8查看仿真环境接口给出的关节信息Prompt帮我写个 08 代码查看 mujoco 仿真环境给出来的机器人的关节数量自由度数量主动关节数量。目的对比模型定义与仿真环境接口的差异确保理解一致。阶段三仿真与控制器步骤 9单步调试仿真Prompt帮我写一个实例代码 09我希望通过他理解 mujoco 仿真世界一帧一帧是怎么运算的我希望有个按钮可以单步调试一帧一帧的播放仿真。基于 02_python_load_t800.py 开发。目的理解 MuJoCo 的仿真循环机制为后续控制打下基础。步骤 10添加 PD 控制器Prompt参考 02_python_load_t800.py给这个机器人每个关节增加一个 PD 控制器让机器人能保持初始的姿态新的代码 10 开头。目的让机器人能够稳定站立为行走提供基础。步骤 11查看关节力矩范围Prompt帮我写一个 11 开头的代码打印 t800 机器人每一个关节的力矩范围。目的了解每个关节的输出能力避免控制时超出物理限制。步骤 12滑块控制界面Prompt参考 02_python_load_t800.py帮我写一个控制器这个控制器界面有多个进度条有图形化界面拖动进度条可以控制机器人的关节角度。新的代码以 12 开头。目的通过可视化界面手动控制每个关节验证关节运动是否正常。阶段四MNN 策略网络推理步骤 13分析 MNN 策略网络的观察空间PromptMNN-CODE/demo.py 这个是众擎机器人推理 mnn 网络的参考代码帮我写一个示例代码分析一下众擎机器人网络模型的观察空间都是什么数据。帮我写一个 13 开头的代码。目的理解策略网络的输入格式包括关节位置、关节速度、根节点位姿、上一时刻动作、任务目标等。补充说明T800 的观测空间通常由以下几类核心状态量拼接而成状态量类别MuJoCo 对应字段作用关节位置data.qpos本体感知位置闭环控制的基础关节速度data.qvel动态反馈抑制震荡根节点位姿data.qpos[:7]判断是否摔倒、朝向及绝对高度根节点速度data.qvel[:6]反映躯干运动趋势上一时刻动作last_action提供动作连续性任务目标/误差自定义变量引导 AI 向任务目标收敛步骤 14实现 MNN 推理让机器人走路Prompt基于 13_python_analyze_mnn_obs_space.py 对机器人结构和模型数据的梳理帮我把这个 mnn 推理的代码实现出来要求机器人可以稳定的在仿真平台走路。代码的名字 14 开头。目的将观察空间构造、MNN 推理、动作映射、PD 控制串联起来实现完整的行走控制。核心链路策略网络输出归一化动作 → 动作缩放action_scale→ 叠加默认姿态 → 得到目标位置target_qpos→ PD 控制器计算力矩 → 执行器施加到关节 → 物理引擎推进一步阶段五调试与优化步骤 15分析日志定位问题Prompt读取 log.txt 相关的日志分析问题的原因检查初始化的高度初始化的动作范围。目的通过日志分析机器人运动异常的原因。步骤 16修复初始化和姿态问题Prompt现在一出来机器人蹦了一下然后摔跤把机器人初始高度设置一个单独的变量可以修改精简必要的日志信息方便排查错误。他的上半身应该固定在同一个位置不要来回旋转。目的调整初始高度、固定上半身姿态解决机器人摔倒问题。步骤 17添加键盘控制Prompt给我写一个 16 的代码可以通过键盘方向键控制机器人前后左右移动。目的增加交互控制方便测试和演示。五、总结与心得5.1 方法论总结本文的核心方法论是分步引导式 AI 编程化整为零将复杂任务拆解为多个小步骤每一步只解决一个问题循序渐进从环境验证 → 结构认知 → 仿真控制 → 策略推理 → 调试优化及时验证每一步都通过代码运行结果验证理解是否正确迭代优化发现问题后通过新的 prompt 让 AI 修复5.2 关键经验先理解再动手不要急于写推理代码先花时间理解机器人结构和仿真接口可视化很重要通过 matplotlib 可视化连杆、通过滑块控制界面验证关节能大大加速理解日志是调试的好帮手精简的日志信息能帮助快速定位问题初始状态很关键机器人的初始高度、初始姿态对策略执行效果影响很大5.3 适用场景这种方法不仅适用于 T800 机器人也适用于其他具身智能机器人的推理复现例如其他众擎机器人如 PM01其他强化学习策略的部署任何需要结合物理仿真和神经网络推理的场景六、相关资源众擎 T800 SDKengineai_robotics_native_sdkMuJoCo 官方文档mujoco.readthedocs.ioMNN 推理引擎alibaba/MNN欢迎交流讨论如有问题请在评论区留言。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

深度学习故障检测算法源码实战:模型选型与落地避坑指南 2026/10/1 17:23:16

深度学习故障检测算法源码实战:模型选型与落地避坑指南

简介:工业设备在运行中持续产生时间序列数据,故障常表现为瞬时突变、缓慢漂移或未知异常。传统阈值规则难以覆盖复杂工况,而深度学习技术如1D-CNN、LSTM和自编码器为故障检测提供了不同路径:1D-CNN擅长捕捉局部冲击模式&#xff0…

阅读更多 →
WinForm Ribbon 控件源码解析:从界面美化到深度换肤实战 2026/10/1 17:23:15

WinForm Ribbon 控件源码解析:从界面美化到深度换肤实战

简介:面向 C# WinForm 开发者的 Ribbon 控件完整源码包,基于 .NET 平台实现,旨在帮助中高级开发者掌握 Office 风格界面组件的设计思路与工程落地方法。压缩包共 212 个文件,约 487KB,以 126 个 C# 源码文件为核心&…

阅读更多 →
BERT中文情感分析实战:从源码解读到模型微调落地 2026/10/1 17:23:15

BERT中文情感分析实战:从源码解读到模型微调落地

简介:基于Python实现BERT情感分析模型的课程设计资料包,面向自然语言处理初学者、高校相关专业学生以及需要快速搭建情感分析demo的开发者。项目使用正向、无情感、负向三类倾向性共1万多条语料微调BERT模型,迭代3次后在3000余条测试集上达到…

阅读更多 →
基于PINN的微分方程求解:PyTorch实现与避坑指南 2026/10/1 17:23:15

基于PINN的微分方程求解:PyTorch实现与避坑指南

简介:基于PINN的微分方程求解Python代码包,面向科研人员、工程师和拥有一定Python基础的学习者,系统展示物理信息神经网络求解常微分方程与偏微分问题的完整流程。内容覆盖常微分方程组、扩散方程、泊松方程、拉普拉斯方程、洛伦兹系统以及欧…

阅读更多 →
C# SQLite3工业级增删改查实战指南 2026/10/1 17:23:15

C# SQLite3工业级增删改查实战指南

简介:本资源是一份面向C#初学者与.NET开发者的SQLite3数据库操作实战Demo,聚焦轻量级本地数据库在桌面应用中的增删改查实践。项目完整封装了连接管理、参数化查询、事务处理及CRUD辅助类,帮助开发者快速掌握System.Data.SQLite在实际项目中的…

阅读更多 →
Suntime 在 LuatOS 中的应用与开发实践:从 Air8101 到 AirUI 的完整落地 2026/10/1 17:23:08

Suntime 在 LuatOS 中的应用与开发实践:从 Air8101 到 AirUI 的完整落地

1. 从 Air8101 到 AirUI:Suntime 时间应用到底解决什么问题 Suntime 是 OpenLuat 生态里一个专门做日出日落时间计算的模块,跑在 LuatOS 上,配合 AirUI 轻量化图形框架,能在 Air8101 这类工业引擎模组上做出一个完整的「日出日落时…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉