【动手学具身智能】legged_gym项目实践(一)启动训练与测试结果

isaacgym(legged_gym)学习 (二)—— 设置环境地形 如何设置isaacgym中的环境地形,来实现特殊任务需要的训练!!!!文件中我们可以不用管这个。mesh_type = 'trimesh' # 地形网格类型:'trimesh'(三角形网格),可选值包括 'none', 'plane', 'heightfield', 'trimesh'horizontal_scale = 0.1 # 水平缩放比例,单位:米vertical_scale = 0.005 # 垂直缩放比例,单位:米border_size = 25 # 边界大小,单位:米。 阅读详情
AI摘要

本文记录了使用legged_gym上手实践训练机器人的操作步骤。先介绍导入宇树G1机器人源码到项目文件夹的方法,接着讲解训练机器人的重要参数、用途及调参建议,最后说明了启动训练和测试结果的操作,如指定任务、环境数量等参数可控制训练。

本文将会记录与讲解使用legged_gym上手实践训练机器人的操作步骤。

一、导入机器人

这里选择宇树的G1机器人,进入宇树文档中心,在“RL例程”中找到相关资料并下载:https://support.unitree.com/home/zh/G1_developer/rl_control_routine

翻一翻文件夹可以发现,宇树提供了几款机器人的源码,分别是g1,g2,h1等:
在这里插入图片描述
同时准备好legged_gym项目文件夹,结构应该是这样的:
在这里插入图片描述

  • 将机器人源码中的/unitree_rl_gym/resources/robots/g1_description文件夹复制到legged_gym文件夹的legged_gym/resources/robots/中:
    在这里插入图片描述
  • 接着把envs/中的g1文件夹复制到legged_gym的envs中:
    在这里插入图片描述
    在这里插入图片描述
  • 在legged_gym/legged_gym/envs/init.py中增加注册机器人(三行注释为#添加的 的代码):
from legged_gym import LEGGED_GYM_ROOT_DIR, LEGGED_GYM_ENVS_DIR
from legged_gym.envs.a1.a1_config import A1RoughCfg, A1RoughCfgPPO
from .base.legged_robot import LeggedRobot
from .anymal_c.anymal import Anymal
from .anymal_c.mixed_terrains.anymal_c_rough_config import AnymalCRoughCfg, AnymalCRoughCfgPPO
from .anymal_c.flat.anymal_c_flat_config import AnymalCFlatCfg, AnymalCFlatCfgPPO
from .anymal_b.anymal_b_config import AnymalBRoughCfg, AnymalBRoughCfgPPO
from .cassie.cassie import Cassie
from .cassie.cassie_config import CassieRoughCfg, CassieRoughCfgPPO
from .a1.a1_config import A1RoughCfg, A1RoughCfgPPO
from .go2.go2_config import GO2RoughCfg, GO2RoughCfgPPO  
from legged_gym.envs.g1.g1_config import G1RoughCfg, G1RoughCfgPPO #添加的
from legged_gym.envs.g1.g1_env import G1Robot #添加的



import os

from legged_gym.utils.task_registry import task_registry

task_registry.register( "anymal_c_rough", Anymal, AnymalCRoughCfg(), AnymalCRoughCfgPPO() )
task_registry.register( "anymal_c_flat", Anymal, AnymalCFlatCfg(), AnymalCFlatCfgPPO() )
task_registry.register( "anymal_b", Anymal, AnymalBRoughCfg(), AnymalBRoughCfgPPO() )
task_registry.register( "a1", LeggedRobot, A1RoughCfg(), A1RoughCfgPPO() )
task_registry.register( "cassie", Cassie, CassieRoughCfg(), CassieRoughCfgPPO() )
task_registry.register( "go2", LeggedRobot, GO2RoughCfg(), GO2RoughCfgPPO() )  
task_registry.register( "g1", G1Robot,G1RoughCfg(), G1RoughCfgPPO() )  #添加的 

二、训练机器人

重要训练参数讲解

首先讲一下训练的命令需要设置的重要参数:

  • --task:

    • 描述:指定任务类型,默认值是 anymal_c_flat。这个参数决定了训练的具体任务,anymal_c_flat 是指使用平地行走任务。
  • --resume:

    • 描述:是否从已保存的检查点恢复训练,默认为 False。如果为 True,训练将从上次中断的地方继续。
  • --experiment_name:

    • 描述:实验名称,用于标识当前的实验,默认情况下会覆盖配置文件中定义的实验名称。
  • --run_name:

    • 描述:运行名称,用于区分不同的训练运行。
  • --load_run:

    • 描述:从哪个运行中加载模型,-1 表示加载最近的运行。
  • --checkpoint:

    • 描述:指定加载的检查点编号,-1 表示加载最新的检查点。
  • --headless:

    • 描述:如果设置为 True,则始终关闭可视化。适用于不需要图形界面的训练。
  • --horovod:

    • 描述:是否启用 Horovod(分布式深度学习库)来进行多GPU训练,默认为 False。
  • --rl_device:

    • 描述:指定强化学习算法使用的设备,可以是 cpu、gpu 或者 cuda:0 等。
  • --num_envs:

    • 描述:要创建的环境数量。通常用于并行化训练,如果不指定则使用配置文件中的值。
  • --seed:

    • 描述:设置随机种子,用于确保实验的可重复性。
  • --max_iterations:

    • 描述:最大训练迭代次数,超出此次数后停止训练。

用途和调参

  • --task:选择任务类型,行走任务(如 anymal_c_flat)将帮助机器人训练走路。

  • --num_envs:根据硬件和并行能力调整环境数量。更多环境有助于加速训练,尤其是在GPU上。

  • --rl_device:如果在GPU上训练,使用 cuda:0 或 cuda:1;若在CPU上训练则指定为 cpu。对于大规模训练,使用GPU会更高效。

  • --seed:设置随机种子以确保每次训练都从相同的初始状态开始,便于调试和比较。

  • --max_iterations:可以设置最大训练迭代次数以控制训练时间,初期可以设置较小的值来调试。

  • --horovod:若使用多个GPU进行分布式训练,可启用 Horovod 来加速训练。

以上复制于gpt,下面我用自己写一下自己的理解:

  • --task:名字取决于在任务注册中注册的名字在这里插入图片描述
  • --num_envs:数量决定了同一时间的机器人agent有几个,相当于是batch_size
  • --max_iterations:设置最大迭代次数,一般为三四千,算法会达到收敛
  • --headless:加上这条可以不开可视化,会快很多
  • --load_run: str类型参数,代表运行的策略的任务名称
  • --checkpoint: int类型参数,代表运行的策略编号

举例:
在legged_gym/logs/g1/中保存了所有与g1型号机器人有关的训练结果
在这里插入图片描述在这里插入图片描述

  • 这边文件夹的名称就是不同的训练过程,也就是任务名称
  • 任务里面会随着训练保存一版版的训练结果,也就是策略名称,若指定checkpoint参数为10000,就会调用model_10000.pt

启动训练

先cd到legged_gym/scripts/文件夹处,运行

python train.py --task=g1 --num_env=1000 --headless

开始训练
在这里插入图片描述
训练完成后,logs里面就会多一个文件夹,代表这次训练任务的结果保存:在这里插入图片描述

测试结果

如果在同scripts文件夹下直接运行

python play.py --task=g1

会选择最新的任务最新的策略测试

如果想要指定,比如

python play.py --task=g1 --load_run=origin_10000 --checkpoint=10000 --num_env=10

成功运行,其中打印log:

Loading model from: /home/swanchan/IsaacGym_Preview_4_Package/isaacgym/legged_gym/logs/g1/origin_10000/model_10000.pt

在这里插入图片描述

IsaacGym四足机器人sim to real全过程详细解析(walk these ways方法) 本文使用强化学习的方法运行到Aliengo机器人上完成从训练到部署的全过程。该方法使用的是GO1机器人提供了完整的sim to real代码和遥控器控制代码,所以我们只需要重新训练和部署健康就可以使用在Aliengo上。该方法使用lcm进行通讯首先程序通过UDP和机器人控制板进行通讯获取机器人状态并下达指令。然后又通过lcm进行机器人状态信息的发布和模型命令的获取。 阅读详情

相关推荐

【Legged Gym】Legged Gym训练参数详解与自定义任务实现

Legged Gym 允许用户通过自定义 task 来实现新的任务。task 类定义了机器人在环境中需要完成的任务目标和评估标准。要创建自定义任务,你需要继承 Legged Gym 的 Task 基类,并实现必要的方法,如__init__reset和step。这些方法定义了任务的初始化、重置和每个时间步的行为。

xuzhengzhe的博客 4655

issacgym+leggedgym安装

强化学习实操,首先需要安装一个好用的训练环境。强化学习的训练环境有很多,本文选择了Issac Gym进行环境配置与安装。 本文记录了笔者安装IssacGym的过程,比较曲折,遇到了很多坑,记录下来以供参考。

RobotFreak的博客 6157

【源码解析具身智能】legged_gym项目核心模块与训练流程剖析

本文深入解析了legged_gym项目,这是一个基于NVIDIA Isaac Gym的四足机器人强化学习训练框架。文章详细剖析了其核心模块架构、环境构建机制、训练流程及PPO算法实现,并分享了实战调试经验与性能优化技巧,为开发者提供了全面的技术指导。

weixin_30595035的博客 355

legged_gym代码阅读及解释

legged_gym是苏黎世联邦理工大学(ETH)机器人系统实验室开源的基于英伟达推出的仿真平台Issac gym(目前该平台已不再更新维护)的足式机器人仿真框架。注意:该框架完全运行起来依赖强化学习框架rsl_rl和Issac gym,本文不对强化学习框架rsl_rl和仿真平台脚本进行描述解释。legged_gym ├──envs ├──__init__.py └──机器人文件夹

Guanhj_BIT_1995的博客 1万+

手把手教你用gym训练宇树GO2机器人:从环境配置到实战测试

本文提供了一份详细的宇树GO2机器人强化学习训练实战指南。从零开始,手把手教你搭建基于Gym和Isaac Gym的训练环境,包括虚拟环境配置、核心依赖安装、GO2模型准备,并深入解析了Legged Gym框架的配置与注册流程。文章重点介绍了如何启动训练、监控关键指标,并针对训练测试中常见问题提供了实用的参数调优与问题排查方法,旨在帮助开发者高效完成从环境搭建到策略部署的全过程。

vvv99的博客 549

修改legged_gym地形后仍然是平地,如何解决?

🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。

**My Coding Family** 1564

【动手学具身智能】legged_gym项目代码阅读

legged_gym提供了用于训练ANYmal(和其他机器人)使用NVIDIA的Isaac Gym在崎岖地形上行走的环境。 它包括模拟到真实传输所需的所有组件:执行器网络、摩擦和质量随机化、噪声观测和训练过程中的随机推送。其中该项目需要用到Isaac_gym(已停止维护)与rsl_rl1.2.0(大版本已不是最新),可能更适合用于学习。legged_gym/ ├── envs/ ├── scripts/ ├── utils/ ├─

ModestCoder_的博客 5132

legged-gym包

legged-gym包

Isaac gym、IsaacGymEnvs、legged_gym、humanoid-gym安装汇总

Isaac gym、IsaacGymEnvs、legged_gym、humanoid-gym 安装汇总

weixin_45355406的博客 4281

深入了解 Google Gemini:主要功能是什么以及我们为什么要使用它?

Google Gemini开启AI新纪元,以其独特的多模式功能重塑技术未来。

KompasAI的博客 4067

2026年ERP选型实战:按规模分档,避开成本与实施陷阱

企业资源计划(ERP)是现代企业数字化转型的核心系统,它将财务、供应链、制造、人力等业务整合到统一平台。随着云计算和人工智能技术的发展,ERP已从传统本地部署的记录工具演变为SaaS订阅制、具备AI辅助决策能力的智能运营平台。不同规模企业在选型时的关注点差异巨大:小微企业追求轻量化和快速出报表,中型企业需要在流程标准化与业务灵活性间取得平衡,大型集团则注重多法人管控和数据治理。此外,制造、电商、工程等行业对ERP的模块要求也各有侧重,成本核算数据跑不通更是普遍痛点。如何结合企业规模与行业特征,制定合理的选型

weixin_34320724的博客 380

机器人训练环境isaac gym以及legged_gym项目的配置问题

isaac gym是现阶段主流的机器人训练环境之一,而“下载Isaac Gym Preview 4(readme教程上写的是3,但是4向下兼容)。成功运行:进入该位置:输入:再回到 legged_gym目录下,到有setup.py文件的位置,再次输入完成配置。

Qrange123的博客 8723

Agent测试框架Harbor指南

Harbor是一个AI Agent单元测试框架,用于自动化测试AI代理在容器环境中的任务执行能力。它支持18+种AI代理,通过沙箱隔离和自动验证机制评估任务完成情况。任务必须具有可编程验证的输出结果,适合代码、数据、系统等可量化任务,不适合创意写作等主观任务。Harbor采用CLI操作方式,核心架构包含Job管理、Trial执行和验证器三个层级,执行流程包括环境启动、Agent执行和结果验证。任务目录包含指令文件、配置文件、Docker环境定义和测试脚本等必需组件,通过测试脚本自动判断任务完成质量。

loo_Charles_ool的博客 1406

关于Isaac Gym下对从solidworks转urdf的导入并在Legged_gym-master下并训练

这个会把自己在sw下面的fxied关节和上一个link合并在一起,导致后面通过调用api:get_asset_rigid_body_names后会发现没有自己足的名字。3.ros-rviz下测试没有问题后可直接进入legged-gym下相应的resources下创建一个新的文件夹下复制相关urdf和mesh,同时修改。(3)urdf rviz显示,从sw导出来的urdf自带launch文件夹,下面分别由。2.转到urdf后,我是通过ros rviz下测试的各个关节限制等是否满足要求。

qq_43941705的博客 3127

数据分析(二):学生成绩预测分析报告

表1 特征变量描述变量描述school学生的学校sex学生的性别age学生的年龄address学生的家庭住址类型famsize家庭规模Pstatus父母同居状况Medu母亲的教育Fedu父亲的教育Mjob母亲的工作Fjob父亲的工作reason选择学校的理由guardian学生监护人traveltime从家到学校的时间studytime每周学习时间failures过去的类失败次数schoolsup额外的教育支持famsup家庭教育支持。

m0_73963149的博客 4417

基于Simulink的PR(比例谐振)控制器在单相整流中的应用

本文详细介绍了基于Simulink的单相整流系统中PR(比例谐振)控制器的设计与实现方法。首先阐述了PR控制器相较于传统PI控制器的优势,能够有效消除交流信号跟踪中的稳态误差。接着系统讲解了PR控制器的传递函数原理、实用型设计(带带宽)及参数整定方法。通过Simulink建模步骤,包括主功率电路搭建、电压外环PI设计、电流指令生成、PR控制器实现(推荐MATLAB Function方法)和SPWM调制等关键环节。仿真对比显示PR控制在电流跟踪精度(THD仅1.9%)、功率因数(0.998)和动态响应(突变恢

amy_mhd的博客 690

Unitree_RL_Gym项目(1): Legged Gym 项目深度技术解析

本文深度解析了宇树科技开源足式机器人强化学习训练框架legged_gym的技术实现。该框架基于NVIDIA Isaac Gym GPU并行仿真引擎,支持GO2四足机器人和G1/H1双足机器人,采用PPO算法进行端到端步态控制策略训练。核心特性包括4096环境并行仿真、非对称Actor-Critic架构、LSTM时序策略网络、域随机化和程序化地形生成等。项目采用声明式配置系统,通过递归实例化机制简化参数管理,并实现了完整的仿真-训练循环,包括PD控制器、观测空间构建和奖励计算等功能模块。

Robot-Nav的博客 996

Cesium 入门

Viewer:主要窗口Cesium 展示三维要素内容的主要窗口,包含三维地球的视窗,还包含了一些基础控价const viewer = new Cesium.Viewer('div的ID',{ options可选参数 },包括图层)options可选参数animation: false, 隐藏动画效果timeline:false, 隐藏时间轴等等Scene:场景类,隐藏地球图层Entity:实体类。

虎康的博客 3667

legged-gym环境配置

耗时两周时间才跑通的legged-gym开源项目,里面遇到了很多问题,在这分享一下自己的经验。一开始想在实验室的服务器上运行的,但是最后遇到问题:段错误。一直也没有找到很好的方式,可能跟我一开始更新显示驱动有关系吧。后来用的学弟的电脑:机械革命4060的显卡。(吐槽一句机械革命装双系统真的麻烦),接下来从头说一下这个项目的历程吧。

Docter_Wei1201的博客 514

简要介绍 | 雷达穿墙成像及其应用场景

本文简要介绍了雷达穿墙成像技术的原理、研究现状、挑战与未来展望,希望能为相关领域的研究与应用提供参考。具有广泛的应用前景。本文将详细介绍雷达穿墙成像的原理,以及其在不同应用场景中的实践。逆时偏移算法(Reverse-Time Migration, RTM)雷达穿墙成像技术是一种先进的遥感技术,具有。的能力,可用于探测室内目标。安全与救援、建筑结构检测等领域。雷达穿墙成像技术的核心原理是。是Green函数,表示从接收点。雷达穿墙成像及其应用场景。雷达穿墙成像及其应用场景。目标识别与定位准确性。

NLOS的博客 2233

数据分析案例-电脑笔记本价格数据可视化分析3

本文基于Kaggle笔记本数据集(1303条记录,13个变量),使用Python进行数据可视化分析。通过自定义函数预处理了CPU频率、内存类型等关键特征,利用Seaborn和Matplotlib绘制了品牌分布、内存类型占比、价格影响因素等可视化图表。研究发现:1)Dell和Lenovo市场份额最大;2)SSD是主流存储类型;3)高RAM配置普遍采用SSD;4)Intel处理器占据绝对优势。分析揭示了不同品牌、配置与价格的关系,为消费者购买决策和市场策略制定提供了数据支持。

m0_64336780的博客 1万+

【RL环境攻坚】Isaac Gym + Legged Gym 版本冲突化解实录:从依赖地狱到训练启动

本文详细记录了在RTX 2080Ti上配置Isaac Gym与Legged Gym强化学习环境的完整过程。针对Python版本、CUDA、PyTorch及rsl_rl库的版本冲突问题,提供了从环境隔离、依赖锁定到常见报错(如Numpy版本降级)的精准解决方案,最终成功启动四足机器人训练任务,为RL环境配置提供了实用指南。

n2o3p4的博客 423

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

如何用Wheel-Legged-Gym评估与部署训练好的策略:play.py、断点续训与模型加载完全指南

Wheel-Legged-Gym 是基于 Isaac Gym 的轮腿机器人强化学习训练框架。本文带你用 `play.py` 可视化评估训练好的策略、通过 `--resume`/`--load_run`/`--checkpoint` 参数实现断点续训,以及把策略导出为 JIT 格式部署到真实机器人,一篇讲清从训练到部署的完整流程。 ## 一、先认识三个内置任务 框架在 [wheel_legged

gitblog_00688的博客 1003

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

机器人强化学习环境搭建:legged_gym与rsl_rl配置全攻略

强化学习作为机器学习的重要分支,通过智能体与环境的交互学习最优策略,其核心原理基于马尔可夫决策过程。在机器人运动控制领域,该技术能解决传统控制方法难以处理的复杂、非线性问题,具有极高的技术价值。足式机器人仿真环境如legged_gym,结合高效算法库rsl_rl,为机器人学习行走、奔跑等动态行为提供了关键平台。本文聚焦于环境配置这一基础但关键的工程实践环节,针对CUDA版本冲突、PyTorch编译等常见痛点,提供从系统准备、依赖安装到验证测试的完整解决方案,帮助研究者与工程师快速搭建可用于机器人运动控制强化

weixin_34174422的博客 447

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

legged_gym仿真到实物转移技术:如何让训练好的策略在真实机器人上稳定运行

legged_gym是一个基于Isaac Gym的腿部机器人仿真环境,它能够帮助开发者快速训练和测试机器人控制策略,并实现从仿真到实物的平稳过渡。本文将详细介绍如何利用legged_gym实现仿真到实物的转移技术,让训练好的策略在真实机器人上稳定运行。 ## 仿真到实物转移的挑战 仿真环境和真实世界之间存在着固有的差异,这些差异会导致在仿真中表现良好的策略在真实机器人上可能无法正常工作。主要挑

gitblog_00055的博客 348

AMP_for_hardware核心架构揭秘:基于legged_gym的强化学习创新实践

AMP_for_hardware是一个基于强化学习的机器人控制项目,全称为Adversarial Motion Priors Make Good Substitutes for Complex Reward Functions,它利用少量参考数据(4.5秒)来训练机器人技能,所有实验均使用Unitree的A1机器人进行,并基于legged_gym框架和Isaac Gym物理引擎实现。 ## 项目

gitblog_01405的博客 502
上一篇: 【动手学具身智能】legged_gym项目代码阅读
下一篇: Ubuntu20.04系统安装IsaacSim4.5与IsaacLab环境
我要看无刺有刺
博客等级 码龄8年 292粉丝 543原创
评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值