Microduck RL 与 microduck 官方仓库如何分工:训练侧与运行时的完整地图

发布时间:2026/9/18 14:37:21

Microduck RL 与 microduck 官方仓库如何分工:训练侧与运行时的完整地图 Microduck RL 与 microduck 官方仓库如何分工训练侧与运行时的完整地图【免费下载链接】microduck_rlRL training environments for Microduck (mjlab)项目地址: https://gitcode.com/GitHub_Trending/mi/microduck_rlMicroduck RLmicroduck_rl是 Microduck 双足机器人项目的强化学习训练侧仓库基于 mjlabMuJoCo Warp PPO为这台约 800 g、25 cm 高、14 个伺服的双足小鸭子训练 50 Hz 的运动策略再导出 ONNX 部署到真机。它与官方 microduck 运行时仓库形成训练 → 导出 → 部署的完整闭环。本文给你一张清晰的分工地图谁负责什么、数据怎么流动、接口契约是什么。️ 一句话分工仓库角色核心职责microduck_rl本仓库训练侧Python / mjlab建仿真环境、BAM 执行器建模、域随机化、奖励设计、PPO 训练、ONNX 导出、策略发布microduck官方仓库运行时Rust 守护进程真机上跑 50 Hz 控制回路、加载 ONNX 策略、安全/跌倒检测/里程计robotctl管理策略两边通过一个硬接口解耦一份 61 维观察 14 维动作的policy.onnx外加 schema 2 的manifest.json。运行时通过策略热切换walk / stand / trick接管机器人任何策略都能在任意时刻接手这正是两边能独立演进的基石。️ 训练侧microduck_rl 做了什么这个仓库是完整的sim2real 配方机器人模型src/mjlab_microduck/robot/microduck/ 下是从 Onshape 导出的 MJCF 模型按用途分版本——robot_walk.xml走步碰撞精简、robot_groundcontact.xml倒地类任务精细碰撞集、robot_groundcontact_rollers.xml轮滑任务等执行器保真src/mjlab_microduck/actuator/friction_dr_bam.py 用 BAM M6 模型把 XL330 伺服建模到电压控制律层面反电动势、库仑/Stribeck 摩擦并叠加电池电压、电压跌落、指令延迟、摩擦系数等域随机化——在这个尺寸上执行器保真就是 sim2real 差距的大头任务环境src/mjlab_microduck/tasks/ 里每个任务族一个 cfg 文件注册表在 src/mjlab_microduck/tasks/init.py。涵盖走步Velocity、跌倒恢复VelStand、翻身StandUp/Roulade、轮滑Rollers/Swizzle/Slope、捡取GroundPick、踢球BallKick等且每个主任务都有-Backlash-变体±1° 齿轮间隙奖励工程经验AGENTS.md 沉淀了整套血泪教训奖励符号约定、防 reward-hacking 的状态门控、潜基形变、课程调度等常用命令详见 README.mduv run train Mjlab-Velocity-Flat-MicroDuck --env.scene.num-envs 4096 # 训练 uv run play Mjlab-Velocity-Flat-MicroDuck --wandb-run-path run_id # 仿真中观看 uv run scripts/export.py TASK --wandb-run-path run_id # 导出 ONNX uv run scripts/infer_policy.py --walking out.onnx # CPU 端部署预演 uv run publish --onnx out.onnx --repo user/microduck-name --kind episodic --duration-s 4.0没有本地 GPU给任何 train 命令加--hf-jobs即可提交到 Hugging Face 托管 GPU 上跑见 scripts/hf/README.md。⚙️ 运行时侧microduck 官方仓库做了什么官方仓库是机器人的身体和大脑50 Hz 控制回路ONNX 策略推理、安全逻辑、跌倒检测、里程计、运动学——这些代码与真机完全一致策略管理守护进程按 policy manifest schema 2 校验策略拒绝图形状不符非[1,61] - [1,14]、输出含 NaN 的权重robotctl命令行robotctl policy add / load / robot do完成策略的安装、装槽和触发一条命令安装社区策略无需等守护进程发版本仓库刻意不做这些运行时逻辑——src/mjlab_microduck/publish/manifest.py里那句注释说得很直白本模块写 manifest守护进程读它契约文档在官方仓库。 交汇点一个 61 维观察契约这是分工地图的核心两边必须严格遵守61 维 actor 观察 48 维本体感知 13 维指令块[twist(3), head_pose(4), body_pose(6)]顺序固定。不用的指令槽位零填充而非删除保证所有策略可以热切换14 个动作对应 14 个伺服0–4 左腿、5–8 颈/头、9–13 右腿非驱动关节统一命名passive_*轮子、backlash 铰链normalizer 烘焙进 ONNXscripts/export.py 把观察归一化器直接烧进 ONNX 图——仿真里 play 看不出来这个 bug真机上就会让策略看到未归一化的观察所以永远走 export 导出不要手转 checkpoint只发布恒指令策略episodic跑--duration-s后自己回到站立如踢球、空翻和 perpetual持续运行如新走姿--slot walk或保持姿态--unwind-s两类可发布阶段驱动/姿态旗标类策略如地面捡取由守护进程自己驱动留在官方策略集里发布前 src/mjlab_microduck/publish/ 会自动做形状门[1,61] - [1,14]51 维旧策略直接拒收、冒烟输入测试拒 NaN / 常值输出、从 git wandb 填training溯源块任务、commit、branch、run、checkpoint。 完整流水线从训练到真机一步一图mjlab 训练GPU4096 并行环境PPO │ checkpoint (model_XXXXX.pt) ▼ scripts/export.py → ONNX烘焙 normalizer │ ▼ uv run publish → HF Hub 仓库policy.onnx manifest.json README │ ▼ 真机robotctl policy add name user/microduck-name │ ▼ robotctl robot do name → 守护进程 50 Hz 运行上真机之前还有一个重要的排演环节scripts/infer_policy.py 在 CPU MuJoCo 里用与训练相同的 BAM 执行器模拟伺服键盘下发速度指令和G/Y/R/K等动作键多策略同时加载模拟热切换——src/mjlab_microduck/sim/body_server.py 更进一步把整个仿真身体通过 TCP 喂给官方仓库的robotdrobotd --sim 127.0.0.1:7801让真机侧代码原封不动地跑在仿真身体上。 关键路径速查想找什么去哪里全部奖励/事件/观察函数src/mjlab_microduck/tasks/mdp.py走步基准配方其他任务的基础src/mjlab_microduck/tasks/microduck_velocity_env_cfg.pybacklash 变体包装器src/mjlab_microduck/tasks/backlash.py机器人配置与 BAM 执行器参数src/mjlab_microduck/robot/microduck_constants.pymanifest 构建与校验src/mjlab_microduck/publish/manifest.py环境构建工作流与奖励规则AGENTS.mdCPU 回归测试配置不变量、奖励符号tests/❓ 新手常见问题Q我拿到真机策略需要理解 microduck_rl 吗不需要。运行时只认policy.onnx manifest理解本仓库只对想训练新策略的人必要。Q为什么观察必须 61 维不能按任务裁剪这是热切换的前提。裁剪维度 运行时换策略时会错位等于每次都要改守护进程。Q训练环境报错先看什么先跑 5 次迭代的 smoke test64 环境抓掉 95% 的配置错误再看 AGENTS.md 的不变量一节——那里列的都是破坏后仿真里好好的、真机上翻车的坑。Q怎么开始git clone https://link.gitcode.com/i/59bbd3f227e3b05ab0f4aab47798b694 cd microduck_rl uv run list-envs # 看看都有哪些训练任务 uv run train Mjlab-Velocity-Flat-MicroDuck --env.scene.num-envs 64 --agent.max_iterations 5一句话总结分工microduck_rl 造会走路的大脑microduck 官方仓库是戴大脑的鸭子——前者管训练与导出后者管运行与安全中间的桥梁就是那份 61 维观察契约。【免费下载链接】microduck_rlRL training environments for Microduck (mjlab)项目地址: https://gitcode.com/GitHub_Trending/mi/microduck_rl创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/18 14:37:21

直流电机PWM调速课设全解析:从H桥驱动到AT89C51定时器中断

简介:针对单片机课程设计常见选题之一——“单片机控制直流电动机”,这份资料提供了从设计思路到仿真验证的完整参考方案。资源包仅含1个 docx 文件,共17页,大小约229KB,内容组织为设计目的、任务要求、原理分析、硬件…

2026/9/18 14:37:21

前端库多入口与条件导出:从产物矩阵到package.json exports完整实践

先说结论:一个前端库想被浏览器、Node、打包器都能“正确且高效”地引用,不能只丢一个 dist 目录出去,必须同时搞定两件事——多套产物,以及一套能把不同产物精准分配给不同环境的声明规则。前者靠构建脚本,后者靠 pac…

2026/9/18 14:32:20

实时翻译场景用 Gemini 3.8 Live,TaoToken 帮看 Token 消耗

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/18 15:37:27

OpenManus 拆解贪吃蛇任务计划,Base URL 填 TaoToken

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/18 15:37:27

冷库监控系统flask框架机器学习模型计算机毕业设计项目

冷库监控系统是一个集成了现代传感器技术、数据采集与传输技术以及Web开发框架的综合系统,旨在实现对冷库环境参数的实时监控、数据管理和可视化展示。该系统通过部署在冷库内的各类传感器,实时采集温度、湿度、二氧化碳浓度、压力和氧气含量等关键环境参…

2026/9/18 15:37:27

开源知识库问答,TaoToken 的 Key 别写进前端

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/18 15:37:27

面向教育的在线课程管理系统设计与实现

摘 要在教育信息化加速推进的当下,传统教学课程管理模式在效率与精准度上的短板日益凸显。人工处理教学事务耗时费力,数据管理分散且易出错,难以满足现代教育对高效、智能管理的需求。在此背景下,开发先进的在线课程管理系统系统…

2026/9/18 15:37:27

多模态记忆检索用 MemoraX AI 时,TaoToken 的 Key 放在哪

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/18 15:32:27

MOSFET驱动电路设计核心参数:从米勒平台到栅极电阻

1. 为什么手册参数看得懂,驱动波形还是翻车做电源和电机驱动这些年,我见过太多"手册参数门儿清、一上示波器就傻眼"的场面。同事拿着数据手册来找我:"这管子Qg才40nC,按公式算开关时间绰绰有余,为什么栅…

2026/9/18 14:13:01

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/18 0:01:09

Google Colab 实战:运行模型、数据加载与报错排查

1. 为什么我劝你先搞懂 Colab 的运行模型1.1 Colab 到底是什么,跟本地跑代码差在哪Google Colab 简单说就是一台跑在浏览器里的 Linux 虚拟机,你打开一个 Notebook,背后就连上了一台带 GPU 的远程机器。你在单元格里敲的每一行 Python&#x…

2026/9/18 0:01:09

C语言数据类型与表达式详解

1. C语言数据与数据类型概述在C语言编程中,数据是程序处理的核心对象。理解数据的分类和特性是掌握C语言的基础。C语言中的数据主要分为四大类:常量、变量、表达式和函数。这些数据类型构成了C语言程序的基本元素,每种类型都有其独特的特性和…

2026/9/18 0:01:09

SQL时间字段指定时间段查询:区间语义、索引与时区避坑

上周排查一个线上问题&#xff0c;用户反馈"昨天的订单一条都没查到"&#xff0c;但数据库里明明躺着两千多条。最后定位下来&#xff0c;不是数据丢了&#xff0c;也不是接口挂了&#xff0c;而是那个查询条件把时间段写成了> 2024-05-20 00:00:00 AND < 2024…

2026/9/18 14:13:03

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行&#xff0c;Type-C接口算是典型的“看着简单&#xff0c;做起来全坑”的东西。光引脚就24个&#xff0c;高低速信号、电源、控制线全部塞在一个小小的连接器里&#xff0c;如果PCB布局不做规划&#xff0c;打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/18 14:13:02

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/18 14:13:02

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码