网易首页 > 网易号 > 正文 申请入驻

零门槛上手:在算力自由平台一键训练并可视化 MicroDuck 四足机器人

0
分享至


零门槛上手:在算力自由平台一键训练并可视化 MicroDuck 四足机器人

本教程面向算力自由平台用户。无需购买实体机器人、无需手动配置环境、无需具备强化学习基础。只需在平台开通一台 GPU 实例,执行一条安装命令,即可通过远程桌面直观看到小鸭子从摔得四脚朝天,逐步学会站稳、走直线、坐下起立,甚至完成踢球动作。

准备:在算力自由开一台 GPU 实例

创建实例:登录算力自由控制台,创建一台带NVIDIA GPU的实例。实测训练 4096 个并行环境只占约 6 GB 显存,机型选择很宽松(L40S / 4090 都可以);数据盘建议 50 GB 左右(训练环境约 8 GB,外加模型 checkpoint 和日志)。

登录方式:纯训练用SSH登录即可;要亲眼看到仿真画面,需要平台的远程桌面 / 图形界面入口——镜像里已带好 XFCE 桌面。

镜像内容:实例启动后 MicroDuck 应用已在 /opt/microduck/app-v1.3/,离线环境包在 /opt/microduck/bundles/,无需再下载任何东西。


一、运行环境与依赖

系统与硬件:Ubuntu 22.04 LTS(x86_64,内核 5.15),NVIDIA L40S 48 GB(驱动 580.126.09,计算能力 8.9),224 核 CPU / 1007 GB 内存,图形桌面 Xorg :20 + XFCE4。

框架与库:Python 3.12.11,PyTorch 2.9.1(CUDA 12.8 构建),MuJoCo 3.10.0 + MuJoCo Warp 3.8.1 + warp-lang 1.12.0(GPU 并行物理仿真),mjlab 1.3.0(训练框架),RSL-RL 5.0.1(PPO 实现),Better Actuator Models 1.0.1(舵机扩展摩擦建模),ONNX 1.22.0 / ONNX Runtime 1.24.4(策略导出),TensorBoard 2.20.0(曲线),FFmpeg 4.4.2(回放视频)。依赖由 uv 锁定,共 142 个包。

一键配置:进入应用目录执行 bash install.sh,自动完成前置检查、环境展开、路径登记与五项实测;加 --train <课程id> 可在装完后直接后台开训,加 --smoke 先跑链路试跑。完整依赖清单见仓库 docs/ENVIRONMENT.md。

代码结构

应用目录 /opt/microduck/app-v1.3/:

├── duck                    # 顶层入口,转发到 scripts/duck.sh
├── install.sh # 一键安装脚本(六步:检查→判路→环境→路径→实测→用法)
├── scripts/
│ ├── duck.sh # 命令分发器,选择 Python ≥3.10 后转发到 CLI
│ ├── duck_cli.py # 全部子命令:init / check / demo / quick / train
│ │ # / resume / results / result / retry / simulate
│ │ # / fusion / shortcuts / courses / config
│ ├── duck_menu.py # 交互仿真启动台(按中文课程名直接开窗)
│ └── course_runtime.py # GPU 侧回放与评估运行时
├── ui/
│ ├── pipeline.py # 课程流水线:主机级互斥锁 + 阶段执行(可取消)
│ ├── server.py # 本地工作台:实验记录读写、状态管理
│ ├── courses.py # 课程注册表 PROFILES:课程 ↔ 上游任务映射
│ └── offline_runtime.py # 离线包校验与首启展开
├── config/
│ ├── training.lock.json # 上游仓库版本锁(固定 commit)
│ └── offline-image.json # 离线镜像清单
├── docs/ # 手册与验收记录
└── .state/ # 运行状态与路径登记
关键训练路径

① 训练环境

位置:/root/gpufree-data/Microduck/Microduck/external/microduck_rl/.venv

说明:install.sh / duck init 自动展开的 Python 环境,约 8 GB,

装了 PyTorch、MuJoCo、mjlab、RSL-RL 等全部 142 个依赖包。勿手动删除。

② 训练产物(模型)

位置:/root/gpufree-data/Microduck/Microduck/external/microduck_rl/logs/rsl_rl/microduck_ui/

说明:训练出的模型都存在这里,包括每 1000 轮保存的 checkpoint(model_*.pt)、 训练完导出的 ONNX 策略、TensorBoard 曲线数据文件。

③ 实验记录与训练日志

位置:/root/gpufree-data/microduck-runs/ui/ <实验id> /

说明:每次训练自动生成一条记录,包括 job.json(本次训练的参数与状态)

和 console.log(训练曲线日志,看训练进度和指标就是看这个文件)。

⚠️ 注意:系统盘(30 GB)只放镜像本体;以上三个路径都在数据盘上。

释放实例前,记得备份数据盘里的模型。

二、训练验证与试跑 2.1 试跑(平地行走完整流程)

cd /opt/microduck/app-v1.3
bash duck quick official-walk --algorithm ppo

关键参数:64 个并行环境、5 轮迭代、PPO 算法。

预期表现:数分钟内完成「准备 → 训练 → 存 checkpoint → 导出 ONNX」全流程;初期大量摔倒是正常现象——试跑只验证链路,不代表学会动作。

产物:模型 checkpoint 与 ONNX(含观测归一化参数)。

试跑完成的终端输出


2.2 六门课程

每门课程一条独立记录:训练目标、环境配置、核心参数,下附演示。

课程 1 · 平地行走(official-walk)

bash duck sim 平地行走

训练目标:跟踪速度命令,交替步态,支持转向与刹停。

环境配置:平地场景,twist 速度命令(含转向与原地转身采样)。

核心参数:4096 环境 / 约 5000 轮 / PPO / 每轮 24 步 / 随机种子 42。

方向键加速→ 转弯 → 刹停

课程 2 · 起立(official-standup)

bash duck sim 起立

训练目标:从任务规定的初始姿态起立(非任意跌倒恢复)。

环境配置:平地场景,规定初始姿态,含推力扰动评估。

核心参数:4096 环境 / 约 5000 轮 / PPO。

起立过程,中途施加随机推力观察稳定性。

课程 3 · 坐站切换(official-sitstand)

bash duck sim 坐站切换

训练目标:响应坐下 / 站起命令,过渡平顺。

环境配置:平地场景,坐/站目标每 4 秒交替,目标渐变。

核心参数:4096 环境 / 约 1000 轮 / PPO。

按 Y 键来回切换,每次等动作完整结束。

课程 4 · 地面动作(official-ground-pick)

bash duck sim 地面动作

训练目标:低头接近地面再回到站姿的分阶段动作(非抓取物体)。

环境配置:平地场景,分阶段课程调度。

核心参数:4096 环境 / 约 1000 轮 / PPO。

按 G 键,低头接近地面再恢复站姿。

课程 5 · 踢球(official-ball-kick)

bash duck sim 踢球

训练目标:在带球与接触物理的场景中踢球,球产生实际位移。

环境配置:平地场景,含球与接触物理。

核心参数:4096 环境 / 约 1000 轮 / PPO。

按 K / L 键左右脚踢。


课程 6 · 轮滑(official-rollers)

bash duck sim 轮滑

训练目标:被动轮式模型的直线滑行速度跟踪与加减速控制。本课程不含转向(上游将转向命令采样范围设为 0,并奖励保持初始朝向)。

环境配置:轮式机器人模型,直线速度命令。

核心参数:4096 环境 / 约 5000 轮 / PPO。

直线加速 → 匀速滑行 → 减速停下

补充说明:以上轮数为 4096 环境下的建议训练量(见第四节收敛分析)。训练命令示例:
bash duck train <课程id> --envs 4096 --iterations <轮数> --replay

三、训练策略与算法

算法选型:PPO(近端策略优化),RSL-RL 5.0.1 实现;Actor-Critic 均为 MLP(512, 256, 128)+ ELU,开观测归一化。

核心机制:

On-policy 更新——每轮采集的数据只更新一次即丢弃,更新保守(clip 0.2),步子小不崩。

自适应学习率——每轮计算新旧策略 KL 散度,偏离目标 0.01 自动调整,环境数变化有自我补偿。

位置控制动作——策略输出关节目标角度而非力矩,与真机舵机控制方式一致,缩小 sim2real 差距。

带噪观测——61 维观测(角速度、重力方向、关节角/角速度、命令)刻意注入噪声与延迟,防止策略过拟合干净仿真。

课程学习——难度分级放:站立命令占比 2%→25%,罚项权重分段加大,速度范围逐步放宽。

域随机化——质心、质量惯量、关节摩擦(BAM 每环境独立摩擦预算)、噪声、延迟、齿隙随机化,提升真机迁移鲁棒性。

关键超参:

超参

超参

clip_param

0.2

learning_rate

1e-3(adaptive,KL=0.01)

entropy_coef

0.01

gamma / lam

0.99 / 0.95

learning_epochs

5

num_mini_batches

4

steps_per_env

24

单轮样本量

envs × 24(4096 时约 9.8 万步)

网络

MLP (512,256,128) ELU

观测 / 动作维度

61 / 关节目标角度

四、训练曲线与效果评估 4.1 控制台查看

cd /opt/microduck/app-v1.3
LOG=$(ls -t /root/gpufree-data/microduck-runs/ui/*/console.log | head -1)
tail -f "$LOG" # 实时跟踪
tail -n 80 "$LOG" | grep -E "Iteration|Reward/|fell_over|ETA" # 关键指标
4.2 指标呈现

指标

含义

健康标准

主任务奖励(如 wheel_speed、速度跟踪项)

任务完成度

持续上升

Episode_Termination/fell_over

摔倒比例(稳定性)

持续下降

Metrics/twist/error_vel_xy

速度跟踪误差

趋近于 0

Episode_Termination/time_out

回合存活时长

上升

罚项奖励

动作质量约束

保持为负;为正说明奖励定义有误

Iteration time / ETA

训练吞吐与剩余时间

参考排期用

关键节点快照(轮滑课程第 30,547 轮,真实日志):

Episode_Reward/wheel_speed:      0.9233    ← 主任务奖励,已高位
Episode_Reward/heading_hold: 0.3388
Curriculum/action_rate_weight: -2.0000 ← 课程已进入高罚项阶段
Metrics/twist/error_vel_xy: 0.0000 ← 速度跟踪误差收敛
Episode_Termination/fell_over: 0.2083 ← 摔倒比例处于低位
Iteration time: 1.48s
4.3 收敛情况与对比结论

收敛节点:4096 环境下,步态类课程在 4,000~6,000 轮、动作类课程在约 1,000 轮达到可用水平;此后主奖励进入高位平台期,继续训练收益边际递减(轮滑训至 30,000 轮时 wheel_speed 奖励 0.92,增长已趋平)。平地行走约 5,000 轮即达到演示可用。

对比结论:

按预算训练 vs 按上限训练:课程表中的 max_iterations(如 50,000)是上限非目标,按预算训练可节省约 90% 时间且效果等价。

单任务 vs 三任务并行(同卡实测):三任务并行总吞吐仅提升约 11%,但单任务每轮耗时从 1.6 s 升至 4.3 s(慢 2.7 倍)——单卡不值得并行,应顺序执行或增加实例。

稳定性:自适应学习率下训练过程未出现策略崩溃;罚项权重随课程动态调整期间指标波动属正常。

五、新增训练任务

上游共 45 个已注册任务(.venv/bin/list-envs 可查看),当前镜像封装并验收 6 门。以下任务值得扩展,均基于现有框架:

任务 ID

GitHub 仓库

核心特性

与本项目的适配点

Mjlab-Velocity-Rough-MicroDuck

pollen-robotics/microduck_rl

粗糙地形速度跟踪

复用平地行走步态注册,直接对比地形泛化

Mjlab-VelStand-Flat-MicroDuck

pollen-robotics/microduck_rl

行走 + 跌倒恢复单策略

比起立更实用,验收标准更高

Mjlab-Velocity-Swizzle-MicroDuck

pollen-robotics/microduck_rl

对称摆滑(转向已开启)

为轮滑补转向的入口任务

Mjlab-Spin-Flat-MicroDuck

pollen-robotics/microduck_rl

轮上原地旋转

纯转向能力,与轮滑互补

Mjlab-Roulade-Flat-MicroDuck

pollen-robotics/microduck_rl

前滚翻后落回双脚

高难度展示动作

Mjlab-RollerCrouch-Flat-MicroDuck

pollen-robotics/microduck_rl

滑行中下蹲

轮滑进阶变体

Mjlab-Velocity-Flat-Backlash-MicroDuck

pollen-robotics/microduck_rl

带齿隙仿真的行走

消融对照实验素材

Unitree G1 / Go1 等通用任务

mujocolab/mjlab

Isaac Lab 式 API + MuJoCo Warp,内置多机器人

验证框架跨机器人迁移能力

冲刺跑 / 节拍舞蹈

emwstudio/DuckEMW

独立环境,速度评估与节拍动作

课程定义已保留,源码未封装进镜像

PPO 后端

leggedrobotics/rsl_rl

策略梯度算法库

算法层依赖,已锁定 5.0.1

执行器摩擦建模(BAM)

Rhoban/bam

舵机扩展摩擦模型(Stribeck / 负载 / 二次项),含 XL330 实测模型库

sim2real 关键组件,已随镜像 vendored

加课流程:① 在 ui/courses.py 的 PROFILES 注册课程(ID、上游任务、默认轮数、验收标准);② 在 config/training.lock.json 固定对应上游 commit(禁用浮动分支);③ 执行 doctor → quick → train → simulate 完整验收并留存动作证据。仅跑通且人工确认动作合格的任务才写入课程表。

Mbot具身智能实验室

让尖端科技触手可及,人人皆可探索未来


Mbot基础交流群等你加入,下方扫码联系

具身-杰西

Mbot具身-小助手

Mbot-视频号

Mbot-公众号

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
赖清德最新民调惊人,国民党在台北全面失守,蒋万安连任渺茫?

赖清德最新民调惊人,国民党在台北全面失守,蒋万安连任渺茫?

聚焦真实瞬间
2026-10-01 00:23:46
50岁存200万就敢躺平?头条网友吵翻了,答案太真实

50岁存200万就敢躺平?头条网友吵翻了,答案太真实

起喜电影
2026-09-30 06:39:36
外国人对中国人“一天吃三顿”感到震惊,这反映了哪些饮食文化差异?

外国人对中国人“一天吃三顿”感到震惊,这反映了哪些饮食文化差异?

向航说
2026-09-17 12:49:26
大批美国游客涌入中国,回国后坦言:客观来说,中国比美国强多了

大批美国游客涌入中国,回国后坦言:客观来说,中国比美国强多了

兴趣知识
2026-09-30 05:03:17
全程无尿点的10部限制级神作,部部大尺度,看完直接刷新认知

全程无尿点的10部限制级神作,部部大尺度,看完直接刷新认知

小微看电影
2026-08-19 19:05:23
央视曝光!含量超标,又一网红食品彻底翻车,半年销售额超310万

央视曝光!含量超标,又一网红食品彻底翻车,半年销售额超310万

观察者海风
2026-09-29 14:17:57
全国每日外卖单量跌没了0.9个亿,网友说:送外卖的人快比点外卖的人多了!

全国每日外卖单量跌没了0.9个亿,网友说:送外卖的人快比点外卖的人多了!

黯泉
2026-09-30 15:20:53
心照不宣地放任失业,是大国经济崩盘的根源?

心照不宣地放任失业,是大国经济崩盘的根源?

文化纵横
2026-07-14 16:45:46
日本沸腾了,见到中国,当面给承诺了!

日本沸腾了,见到中国,当面给承诺了!

故事终将光明磊落
2026-09-29 18:17:37
我爸走后的第六天,我妈就把情人带回了家,可是她不知道的是我爸早已备好后手

我爸走后的第六天,我妈就把情人带回了家,可是她不知道的是我爸早已备好后手

千秋文化
2026-08-03 20:59:30
画面曝光!俄军又又钻管道偷袭,被乌军逮个正着,数十人被坑杀!

画面曝光!俄军又又钻管道偷袭,被乌军逮个正着,数十人被坑杀!

军武次位面
2026-09-30 17:25:26
36年后再丢冠!刘国梁被骂上热搜,他到底给国乒埋了多少雷?

36年后再丢冠!刘国梁被骂上热搜,他到底给国乒埋了多少雷?

曹老师评球
2026-09-29 22:19:16
武统可能随时到来?美上将:跟解放军谈不了,8倍核武库随时介入

武统可能随时到来?美上将:跟解放军谈不了,8倍核武库随时介入

探史
2026-09-28 16:17:07
2-0!巴萨飞翼2场2球,贝林厄姆遭遇神扑,英格兰知耻后勇

2-0!巴萨飞翼2场2球,贝林厄姆遭遇神扑,英格兰知耻后勇

我的护球最独特
2026-09-30 04:51:30
王钰栋:我要向严智星学习,有机会肯定会出国留洋

王钰栋:我要向严智星学习,有机会肯定会出国留洋

懂球帝
2026-09-30 18:49:21
为什么北理工能速查师德问题其他高校却难做到

为什么北理工能速查师德问题其他高校却难做到

小眼睛小世界
2026-09-30 04:21:36
不差钱!想用天价合同吓退海港,却拿到世界第一年薪,奥斯卡简直人生赢家

不差钱!想用天价合同吓退海港,却拿到世界第一年薪,奥斯卡简直人生赢家

蜡笔小新爱体育
2026-09-30 17:39:41
西方为何说俄罗斯一旦打赢俄乌战争,中国将输得彻底?尽可放心

西方为何说俄罗斯一旦打赢俄乌战争,中国将输得彻底?尽可放心

音乐时光的娱乐
2026-10-01 00:46:46
9-8!日本U23经历“超长点球大战”,罚了10个球,门将1个没扑出

9-8!日本U23经历“超长点球大战”,罚了10个球,门将1个没扑出

汪星人哟
2026-09-30 21:33:14
四平溃败东北濒临崩盘,无人敢战之际,却被闲置时的陈光一战翻盘

四平溃败东北濒临崩盘,无人敢战之际,却被闲置时的陈光一战翻盘

纪史行者
2026-09-27 06:35:06
2026-10-01 03:19:00
杰西讲具身 incentive-icons
杰西讲具身
一名分享AI前沿的分享官,专注具身智能前沿知识
155文章数 1关注度
往期回顾 全部

科技要闻

OpenAI凌晨大上新!新助手dots迎战Muse

头条要闻

中方不再称高市早苗为“首相” 这个表述值得关注

头条要闻

中方不再称高市早苗为“首相” 这个表述值得关注

体育要闻

30天30队·火箭:乌度卡的控制欲

娱乐要闻

胡歌现身游本昌遗体告别仪式

财经要闻

“杭州六小龙”迎来价值重估

汽车要闻

燃油车的最佳平替 长城大狗HEV简单好开更经济

态度原创

教育
时尚
本地
手机
健康

教育要闻

二三等奖名单公示!祝贺南京这些学生!

从理性到反叛,看米兰时装周风格流转

本地新闻

中秋逛白塔寺,体验国医妙荟雅集

手机要闻

部分用户反馈iPhone 18 Pro扬声器爆音异响,苹果或通过iOS 27系统更新修复

刷酸祛痘,为什么有人翻车?

无障碍浏览 进入关怀版