首页/新闻资讯/正文详情

Wheel-Legged-Gym 观测空间设计详解:让轮腿机器人策略能上真机的 5 个关键细节

发布时间:2026/11/3 2:29:24 来源:云帆数科 栏目:资讯中心
Wheel-Legged-Gym 观测空间设计详解:让轮腿机器人策略能上真机的 5 个关键细节
【免费下载链接】Wheel-Legged-Gym项目地址https://gitcode.com/gh_mirrors/wh/Wheel-Legged-Gym点击查看免费下载在Wheel-Legged-Gym基于 Isaac Gym 的轮腿机器人强化学习环境中观测空间Observation Space的设计直接决定了训练出的策略能不能顺利部署到真实机器人。本文带你拆解这个项目的观测空间设计27 维本体感知如何构成、为什么故意藏掉线速度、非对称训练中的特权观测、观测噪声注入以及支撑真机迁移的域随机化配置。为什么观测空间决定能否上真机很多新手训练的四足/轮腿机器人在仿真里走得很好一上真机就东倒西歪。原因往往不在算法而在观测设计策略在仿真里偷看了真实传感器根本拿不到的信息比如基座线速度观测没有加噪声策略对传感器误差毫无鲁棒性没有动作延迟与域随机化策略对执行器差异敏感。Wheel-Legged-Gym 的观测方案正是冲着这些问题来的下面逐项看。27 维本体感知策略到底看什么Actor策略网络使用的观测由compute_proprioception_observations构建总维度为 27在 legged_robot_config.py 中由num_observations 27定义。以 wheel_legged_vmc 任务为例观测项维度缩放系数说明基座角速度base_ang_vel30.25IMU 可测放在机身坐标系下投影重力projected_gravity31重力在机体坐标的投影代替绝对姿态角速度指令commands[:, :3]3指令缩放期望的 vx、vy、偏航角速度腿部连杆角theta0/theta0_dot41 / 0.05VMC 统一运动表示下的连杆状态虚拟杆长L0/L0_dot45 / 0.25VMC 统一运动表示下的杆长状态轮关节位置/速度2 个轮41 / 0.05编码器可测上一时刻动作self.actions6—让策略知道自己刚做了什么 所有缩放系数都集中定义在 legged_robot_config.py 的obs_scales中如ang_vel 0.25、dof_vel 0.05VMC 环境在 wheel_legged_vmc_config.py 中补充了l0 5.0、l0_dot 0.25。缩放的目的就是让每项观测的数值量级接近 1避免网络被大数值项主导。VMC 环境的巧思用统一变量替代关节角VMCVirtual Model Control环境的核心思想是用theta0/L0连杆角与杆长这组统一变量来描述腿部状态而不是直接的关节角。这样在开链结构上训练的同一套观测格式可以无缝迁移到闭链机构——观测定义见compute_proprioception_observations而连杆量的计算来自每步物理步后的leg_post_physics_step中的正向运动学。细节 1故意不给策略基座线速度对比基础环境的compute_proprioception_observations会发现一个反直觉的设计base_lin_vel基座线速度被注释掉了只保留了角速度。为什么要藏掉它因为真实机器人的 IMU 只能直接测角速度线速度必须靠积分或外部估计误差会随时间累积。如果训练时把精确线速度喂给策略上真机后这项观测就失真了。Wheel-Legged-Gym 的解法是让网络自己从历史观测中学出来——obs_history_length 5legged_robot_config.py把最近 5 帧观测堆叠成 27×5 135 维输入序列策略ActorCriticSequenceactor_critic_sequence.py用一个编码器把 135 维历史压缩成 3 维潜在向量latent_dim 3注释写明at least 3 to estimate base linear velocityActor 的输入 当前 27 维观测 3 维潜在变量actor_critic_sequence.py。也就是说策略不是看不到线速度而是学会了从可测信息中估计它——这正是真机部署最需要的能力。细节 2非对称训练——Critic 看特权信息在 wheel_legged_vmc_config.py 中num_privileged_obs被设置为远超 27 的值VMC 版本约 209 维。compute_observations会在 Actor 观测之外额外拼接一批特权信息供 Critic价值网络使用特权观测项维度为什么 Actor 不能看基座线速度base_lin_vel3真机难以精确测量关节加速度dof_acc6仿真中用差分获得真机噪声大完整关节位置/速度12部分信息在开链/闭链间不对应地形高度场heights187机器人没有透视地形的传感器关节力矩torques6真机只能间接估计随机化的质量/质心/摩擦/恢复系数8训练时的域随机化答案这种Actor 只看可部署观测、Critic 看全量信息的做法叫非对称训练asymmetric actor-critic训练循环中的分发逻辑见 on_policy_runner.pycritic_obs privileged_obs if privileged_obs is not None else obs。部署时只需要保存 Actor 编码器特权部分自动消失。细节 3观测噪声——模拟真实传感器legged_robot_config.py 默认开启add_noise Truecompute_observations会在每一步往观测里叠加均匀分布噪声各项幅度由_get_noise_scale_vec决定。以基础 27 维布局为例观测段噪声尺度角速度0.2 × 0.25 0.05投影重力0.05速度指令0指令来自本机不加噪关节位置0.01关节速度1.5 × 0.05 0.075上一动作0VMC 环境在 wheel_legged_vmc.py 中按自己的观测顺序重写了该向量并新增了l0 0.02、l0_dot 0.1的噪声尺度——注释里特意提醒note that observation noise need to be modified accordingly说明作者把观测结构变更时同步维护噪声向量当作一条硬规矩。这一步让策略天然对 IMU 抖动和编码器毛刺免疫。另外所有观测和动作都会被clip_observations 100.0/clip_actions 100.0legged_robot_config.py截断防止偶发仿真异常值污染训练。细节 4为真机做的预演——域随机化与动作延迟上真机前环境先把机器人与地面的差异提前练完。legged_robot_config.py 的domain_rand段包含摩擦系数随机化friction_range [0.1, 2.0]基座附加质量added_mass_range [-2.0, 3.0]kg质心偏移rand_com_vec [0.05, 0.05, 0.05]PD 增益随机化 ±10%randomize_Kp/randomize_Kd甚至覆盖 VMC 的kp_theta、kp_l0等wheel_legged_vmc.py电机力矩输出随机化 ±10%动作延迟delay_ms_range [0, 10]每个环境随机抽取 0~10ms 的延迟通过action_fifo队列实现wheel_legged_vmc.py——这正是真机上指令下发 → 执行器响应延迟的仿真版本。这些随机化的当前取值质量、摩擦、恢复系数、质心等会被写进特权观测给 Critic 参考而 Actor 只能靠观测去适应——训练完成时策略就已经见过上千种略有不同的真机了。细节 5训练与部署流程一切就绪后训练和验证都很简单python wheel_legged_gym/scripts/train.py --taskwheel_legged_vmc_flat python wheel_legged_gym/scripts/play.py --taskwheel_legged_vmc_flat项目提供三个任务注册在 envs/init.py任务说明wheel_legged开链结构多种地形端到端训练wheel_legged_vmc用 VMC 统一开链/闭链运动控制便于迁移到闭链真机wheel_legged_vmc_flat平地训练显存占用低适合验证观测/训练流程训练出的策略只依赖27 维本体感知 5 帧历史全部是 IMU、编码器和指令就能提供的数据——这就是它能上真机的原因。小结观测空间设计的 5 条可复用经验只给策略真机可测的观测角速度、投影重力、关节状态、上一动作缺什么就学什么用观测历史 编码器隐式估计基座线速度latent_dim 3特权信息只给 Critic地形高度场、线速度、力矩等仿真独占数据走非对称通道观测加噪 截断噪声向量和观测结构同步维护clip兜底防异常域随机化 动作延迟把真机的执行器与地面差异提前喂给策略。相关文件索引文件内容wheel_legged_gym/envs/wheel_legged_vmc/wheel_legged_vmc.pyVMC 环境实现观测构建、噪声向量、VMC 控制wheel_legged_gym/envs/base/legged_robot.py基础环境本体感知、特权观测、高度采样wheel_legged_gym/envs/base/legged_robot_config.py观测维度、缩放、噪声、域随机化等基础配置wheel_legged_gym/envs/wheel_legged_vmc/wheel_legged_vmc_config.pyVMC 环境特有配置wheel_legged_gym/rsl_rl/modules/actor_critic_sequence.py序列策略历史编码器 非对称 Actor/Criticwheel_legged_gym/rsl_rl/runners/on_policy_runner.py训练循环中观测的分发wheel_legged_gym/utils/task_registry.py任务注册机制掌握了这套观测设计你再为自己的轮腿或足式机器人项目配置观测空间时就不会掉进仿真满分、真机翻车的坑了。赞分享【免费下载链接】Wheel-Legged-Gym项目地址https://gitcode.com/gh_mirrors/wh/Wheel-Legged-Gym点击查看免费下载相关推荐盘点Wheel-Legged-Gym的20奖励函数如何设计一个稳健的轮腿行走奖励盘点Wheel Legged Gym的20奖励函数如何设计一个稳健的轮腿行走奖励 Wheel Legged Gym 是基于 Isaac Gym 构建的 轮腿downkyi B站视频下载神器完整始末为什么它被一封律师函永久关停downkyi B站视频下载神器完整始末为什么它被一封律师函永久关停 从支持 8K、HDR、杜比视界的哔哩哔哩视频下载工具到一封律师函后的永久关停——dowDism 完整指南磁盘清理、系统备份与离线补丁的免安装 Windows 系统维护方案Dism 完整指南磁盘清理、系统备份与离线补丁的免安装 Windows 系统维护方案 C 盘又红了这次不是缓存的事而是上次系统升级留下的一整套旧系统备文档后端上一篇Flashlight ASR 实战入门基于预训练 CTC 声学模型的推理、微调与强制对齐下一篇GraphQL-Ruby ObjectCache 运行时实战指南跳过缓存、手动注册、可观测指标与手动刷新创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

从 0 部署到首次全 A 选股:tick-stock-panel 量化工作台完整上手指南
从 0 部署到首次全 A 选股:tick-stock-panel 量化工作台完整上手指南

从 0 部署到首次全 A 选股:tick-stock-panel 量化工作台完整上手指南 【免费下载链接】tick-stock-panel TSP自托管、零运维的 A 股「自建策略 监控 回测」量化工作台 | LLM能力驱使策略定制个股分析复盘 | 自由接入第三方数据源与个性化扩展数据 | 个人开源 项… · 2026/11/3 2:29:24

如何读懂 Unity C 参考源码:从 .bindings.cs 到引擎桥接的完整指南
如何读懂 Unity C 参考源码:从 .bindings.cs 到引擎桥接的完整指南

如何读懂 Unity C# 参考源码:从 .bindings.cs 到引擎桥接的完整指南 【免费下载链接】UnityCsReference Unity C# reference source code. 项目地址: https://gitcode.com/gh_mirrors/un/UnityCsReference UnityCsReference 是 Unity 6(版本 6000… · 2026/11/3 2:28:24

RLHF 之父下场宣战:Diogo Almeida 用 Jev 宣告『AI 不只是会说话』
RLHF 之父下场宣战:Diogo Almeida 用 Jev 宣告『AI 不只是会说话』

RLHF 之父下场宣战:Diogo Almeida 用 Jev 宣告『AI 不只是会说话』 一个只会输出「是/否」与 0-100 分、从不生成一个自然语言字符的模型,正在改写智能体的运行方式。2026 年第三季度,社区与媒体冠以「RLHF 之父」之称的 Diogo Almeida 发布… · 2026/11/3 2:28:24

AirTestIDE v1.2.9 Windows 稳定入门指南:适配雷电模拟器的实操闭环
AirTestIDE v1.2.9 Windows 稳定入门指南:适配雷电模拟器的实操闭环

简介:本资源是一份面向UI自动化测试初学者的AirTestIDE系统入门指南,专为测试工程师、开发人员及零基础想快速上手移动端自动化测试的学习者设计。内容覆盖AirTestIDE安装配置、Android模拟器连接、.air脚本创建与运行、Poco UI树解析、断言验证等核心实… · 2026/11/3 3:08:31

Unity光照贴图与动态物体光照协同优化方案
Unity光照贴图与动态物体光照协同优化方案

1. 光照贴图技术背景与核心挑战在Unity引擎中,光照贴图(Lightmapping)是提升场景真实感的关键技术。它通过预计算静态物体表面的光照信息,将阴影、间接光照等效果烘焙到纹理中,从而在运行时大幅降低实时计算开销。这项… · 2026/11/3 3:08:31

Godot引擎可视化编程:GraphEdit与GraphNode入门指南
Godot引擎可视化编程:GraphEdit与GraphNode入门指南

1. Godot中的GraphEdit与GraphNode基础认知第一次接触Godot引擎的视觉化编程工具时,GraphEdit和GraphNode这对组合给我的感觉就像乐高积木——通过连接不同功能的节点块来构建逻辑流。GraphEdit是承载节点编辑的画布容器,而GraphNode则是画布上可拖拽、连… · 2026/11/3 3:08:31

简单电网系统构建与优化实践指南
简单电网系统构建与优化实践指南

1. 项目概述:什么是"简单电网"?在能源领域,电网是指由发电站、输电线路、变电站和配电网络组成的电力供应系统。而"简单电网"通常指小规模、模块化的电力系统,常用于教学演示、科研实验或偏远地区的微电网应用… · 2026/11/3 3:08:31

电动车长途续航实测:标称值与实际差异解析
电动车长途续航实测:标称值与实际差异解析

1. 电车长途出行的续航真相:1200公里两城往返实测去年冬天我开着新买的电动轿车从北京往返青岛,单程600公里,全程1200公里。出发前厂家标称续航620公里,理论上中间充一次电就能完成全程。但实际跑下来,我发现对普通用户… · 2026/11/3 3:08:31

JavaEE在线图书销售系统开发实战
JavaEE在线图书销售系统开发实战

1. 项目概述:JavaEE架构下的在线图书销售系统这个毕业设计项目是一个典型的JavaEE企业级应用开发案例,聚焦于图书电商领域。作为完整的B2C电商解决方案,系统需要实现图书展示、购物车管理、订单处理、用户管理等核心功能模块。采用分层架构设… · 2026/11/3 3:07:31

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

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

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

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

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

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

STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战
STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战

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

ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题
ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题

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

基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践
基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践

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

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

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

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

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

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

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

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码