尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Microduck RL轮滑训练:带被动轮的速度跟踪任务从0到1
Microduck RL轮滑训练带被动轮的速度跟踪任务从0到1【免费下载链接】microduck_rlRL training environments for Microduck (mjlab)项目地址: https://gitcode.com/GitHub_Trending/mi/microduck_rlMicroduck RL 是基于 mjlabMuJoCo Warp PPO的开源强化学习训练仓库本教程带你完成它的轮滑训练任务——给 ~800 g 的双足机器人 Microduck 换上 4 个被动轮passive wheels训练一套能速度跟踪的轮滑策略命令推就蹬腿加速、命令 0 就滑行、命令负就刹车并导出 ONNX 部署到真机。一、这个任务在解决什么问题普通双足机器人靠脚掌摩擦地面行走而轮滑机器人脚下是自由滚动的轮子——纵向没有抓地力蹬地必须靠抬腿、落刀、斜向推动这些技巧完成。这个任务对应的任务 ID 是Mjlab-Velocity-Flat-MicroDuck-Rollers它与主行走任务Mjlab-Velocity-Flat-MicroDuck共享同一套61 维观测布局48 维本体感知 13 维命令块这是整个项目最重要的约定所有策略行走 / 摔倒恢复 / 轮滑 / 花式在真机运行时可以随时热切换因为观测契约完全一致。二、从0到1环境 → 训练 → 部署三步走第1步准备带被动轮的机器人模型轮滑机器人加载的是专用 MJCF 模型robot_groundcontact_rollers.xml14 个受控关节 4 个被动轮铰链命名为passive_LF_?wheel等轮子交错插在关节顺序中每个踝关节后面跟两个轮。项目里所有关节都按名字解析、绝不硬编码索引这是被动轮交错布局下的安全约定见 microduck_constants.py 中的MICRODUCK_WALK_ROLLERS_ROBOT_CFG。第2步用 PPO 训练速度跟踪策略训练走的是 mjlab 标准命令一行搞定# 先做冒烟测试64 环境 × 5 轮几分钟内抓出 95% 的配置错误 uv run train Mjlab-Velocity-Flat-MicroDuck-Rollers --env.scene.num-envs 64 --agent.max_iterations 5 # 正式训练4096 环境并行需要 CUDA GPU uv run train Mjlab-Velocity-Flat-MicroDuck-Rollers --env.scene.num-envs 4096训练器配置MLP 512/256/128 ELU 观测归一化 PPO定义在 microduck_velocity_rollers_env_cfg.py 末尾的MicroduckRollersRlCfg其中熵系数特意调到 0.03比行走环境更高因为轮滑步态比走路更难探索出来。第3步回放验证并导出 ONNX# 在可视化窗口里观看训练出的策略 uv run play Mjlab-Velocity-Flat-MicroDuck-Rollers --wandb-run-path entity/project/run_id # 导出 ONNX观测归一化器会被烤进计算图必须走这条导出路径 uv run scripts/export.py Mjlab-Velocity-Flat-MicroDuck-Rollers --wandb-run-path ... # 用键盘在 CPU 版 MuJoCo 里彩排真机部署BAM 伺服模型与训练一致 uv run scripts/infer_policy.py --walking output.onnx三、任务设计命令语义与奖励表cmd_x 的轮滑语义与普通行走任务命令 期望速度不同这里命令是意图cmd_x含义机器人行为0滑行coast单刀滑行、腿保持安静 0蹬推push抬腿斜向蹬、加速 0刹车brake主动减速到停命令范围lin_vel_x ∈ (-0.5, 0.6)纵向速度命令被固定为 0转向命令暂时关闭先练直线。奖励设计唯一正向任务奖励是轮子真的在转这是整个奖励栈里最关键的一条规则唯一的正向任务奖励wheel_speed权重 10.0——机器人必须真的把轮子转起来才能得分其余奖励项全是塑形风格的。核心实现见 mdp.py 的wheel_speed_reward奖励项权重作用wheel_speed10.0正向任务奖励轮速与命令的 tanh 匹配目标 0.3 m/s饱和在可达速度上避免过度驱动braking1.0cmd_x0 时奖励停下来glide4.0单刀滑行 腿安静 → 奖励承诺每一次蹬推而不是疯狂踢腿single_support3.0只有一只刀片着地且真的在前进→反 swizzle 核心信号同时抑制双脚原地搓步skating_air_time1.5蹬推时的抬腿阶段有前进速度门控防原地抖动刷分forward_lean1.5蹬推时轻微前倾抵消反扭矩gait_symmetry−1.0左右腿蹬推次数均衡防止单腿流漂移hip_roll_neutral−2.0休息时收拢双腿但蹬推瞬间的宽幅横推不被压制配置文件中保留了大量试错注释比如为什么contact_frequency惩罚被撤掉——它会被永远不抬腿的 swizzle 步态钻空子这些注释本身就是一份奖励设计避坑指南值得通读 microduck_velocity_rollers_env_cfg.py。四、Sim2Real领域随机化清单 轮滑对平衡极其敏感随机化强度比行走任务更温和推力扰动只有 ±0.2 m/s行走是 ±0.3质量扰动 ±5%。关键项轮轴承摩擦课程训练前 2000 轮轮子完全无阻力保证先学会滑行之后分阶段升到 0.0015 的真实轴承阻力——太早加阻力会让策略跑偏去刷航向编码器偏差±0.015 rad、IMU 安装偏差±6°观测层面BAM 伺服模型XL330 的完整电压控制律 负载依赖摩擦电池电压 6.5–8.2 V 随机、负载压降实现见 friction_dr_bam.py。对这个级别的微型机器人执行器保真度就是 sim2real 差距的大头。配套测试tests/test_wheel_glide.py、tests/test_crouch_glide.py在纯 CPU 上锁定关节索引映射、奖励符号约定等不变量。五、轮滑任务家族一个模型五种玩法同一套被动轮模型 61D 观测契约衍生出一整个轮滑任务家族注册表见 tasks/__init__.py任务 ID玩法Mjlab-Velocity-Flat-MicroDuck-Rollers本教程速度跟踪滑行Mjlab-Velocity-Swizzle-MicroDuck经典对称搓步swizzleMjlab-RollerCrouch-Flat-MicroDuck滑行中蹲低 1 秒再站起来花样动作Mjlab-RollerSlope-Flat-MicroDuck坡道上下滑行Mjlab-RollerStandUp-Flat-MicroDuck从趴/躺姿态直接站回轮子上详见 roller_standup_policy_summary.mdMjlab-Spin-Flat-MicroDuck原地快速旋转设计上还有一个巧思蹲滑RollerCrouch复用了运行时已有的--ground-pick相位槽位一行 Rust 都不用改就能让真机按钮触发蹲下→滑行→起身设计文档见 2026-07-17-roller-crouch-glide-design.md。六、文件地图任务配置奖励 / 命令 / 随机化 / 课程microduck_velocity_rollers_env_cfg.py全部自定义 MDP 函数奖励、事件、观测mdp.py机器人模型与 BAM 执行器配置microduck_constants.py带轮 MJCFrobot_groundcontact_rollers.xml真机部署彩排脚本infer_policy.py完整 sim2real 方法论与奖励设计教训AGENTS.md七、小结Microduck RL 的轮滑速度跟踪任务展示了微型双足机器人 RL 训练的完整闭环被动轮模型 意图式命令 轮子必须转的正向奖励 分阶段轴承摩擦课程 与真机一致的 BAM 伺服物理。掌握这个任务后你可以顺着同一套 61D 观测契约把蹲滑、坡道、站起等轮滑家族任务都从 0 训到 1并通过publish一键发布到真机。【免费下载链接】microduck_rlRL training environments for Microduck (mjlab)项目地址: https://gitcode.com/GitHub_Trending/mi/microduck_rl创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

SolidWorks 2020安装与稳定部署实战指南

SolidWorks 2020安装与稳定部署实战指南

1. 为什么SolidWorks 2020至今仍是机械设计一线的“稳态选择”我在长三角一家做非标自动化设备的公司干了八年,从助理工程师做到技术主管,经手过SolidWorks 2014、2016、2018、2020、2022五个大版本。去年客户临时要求复现一套十年前的老图纸&#xff0c…

📅 2026/9/18 23:26:39
OpenCloud 内置日志库 Logrus 1.10.2 变更日志深度解析:结构化日志的演进、性能优化与集成实践

OpenCloud 内置日志库 Logrus 1.10.2 变更日志深度解析:结构化日志的演进、性能优化与集成实践

OpenCloud 内置日志库 Logrus 1.10.2 变更日志深度解析:结构化日志的演进、性能优化与集成实践 【免费下载链接】opencloud 🌤️ OpenCloud is the open source platform for file management, sharing and collaboration. Simple and sovereign. 项目…

📅 2026/9/18 23:26:39
postgres_lsp 规则详解:preferBigInt——用 BIGINT 规避整数溢出与迁移风险

postgres_lsp 规则详解:preferBigInt——用 BIGINT 规避整数溢出与迁移风险

postgres_lsp 规则详解:preferBigInt——用 BIGINT 规避整数溢出与迁移风险 【免费下载链接】postgres_lsp A Language Server for Postgres 项目地址: https://gitcode.com/GitHub_Trending/po/postgres_lsp 导读 preferBigInt 是 postgres_lsp 项目中 lin…

📅 2026/9/18 23:26:39
MORE NEWS

更多资讯

📰

ops-transformer FlashAttentionScoreGrad 算子 Pytest 验证框架:CPU Golden、NPU 直调与精度对比实战

ops-transformer FlashAttentionScoreGrad 算子 Pytest 验证框架:CPU Golden、NPU 直调与精度对比实战 【免费下载链接】ops-transformer 本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann…

📰

CANN 社区贡献基础设施 FAQ 实战指南:CLA 签署、PR 门禁与 Bot 命令合入全解析

CANN 社区贡献基础设施 FAQ 实战指南:CLA 签署、PR 门禁与 Bot 命令合入全解析 【免费下载链接】sip 本项目是CANN提供的一款高效、可靠的高性能信号处理算子加速库,基于华为Ascend AI处理器,专门为信号处理领域而设计。 项目地址: https:/…

📰

linux分析利刃之sar命令详解

一、sar的概述 在我使用的众多linux分析工具中,sar是一个非常全面的一个分析工具,可以比较瑞士军刀,对文件的读写,系统调用的使用情况,磁盘IO,CPU相关使用情况,内存使用情况,进程活动…

📰

Banner 尺寸与艺术方向全参考:ui-ux-pro-max-skill 的 22 种风格与多平台规格实战指南

Banner 尺寸与艺术方向全参考:ui-ux-pro-max-skill 的 22 种风格与多平台规格实战指南 【免费下载链接】ui-ux-pro-max-skill An AI skill that provides design intelligence for building professional UI/UX across multiple platforms. 项目地址: https://git…

📰

半导体晶圆清洗工艺全解析:RCA配方、颗粒控制与单片清洗

简介:这份文献针对半导体晶圆制造中的污染杂质与清洗技术展开,面向半导体工艺工程师、研究人员与相关专业学生,系统阐述颗粒、有机物、金属离子和氧化物四类污染物的来源、危害与去除思路。资源为单个PDF文件,大小约262KB&#xf…

📰

四层电梯PLC控制系统设计与欧姆龙CP1E实战

简介:本资源是一份面向电气工程及其自动化专业本科生的课程设计实践文档,聚焦基于PLC的四层电梯控制系统开发全流程,解决传统继电器控制可靠性低、维护难等实际问题。文档完整覆盖系统意义分析、硬件电路设计(含欧姆龙CP1E-N30DT-…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬