isaacgym(legged_gym)学习 (一)—— 添加自己的机器人模型并训练

这篇具有很好参考价值的文章主要介绍了isaacgym(legged_gym)学习 (一)—— 添加自己的机器人模型并训练。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

isaacgym(legged_gym)学习 (一)—— 添加自己的机器人模型并训练


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

例如:isaacgym系列学习记录。


这里默认已经安装好isaacgym学习环境,并可以成功运行其中的案例

一、获取你机器人的urdf文件

这里我以宇数科技的GO2机器人为例,去其官网下载GO2的urdf文件

下载好了urdf文件,将其中resources/robots/go2文件复制到legged_gym/resources/robots/目录下

二、配置GO2机器人的学习环境

1.建立配置文件

在legged_gym/legged_gym/envs/目录下建立一个go2文件夹,然后在go2文件夹中建立一个go2_config.py的配置文件,如下:

from legged_gym.envs.base.legged_robot_config import LeggedRobotCfg, LeggedRobotCfgPPO

class GO2RoughCfg( LeggedRobotCfg ):
    class init_state( LeggedRobotCfg.init_state ):
        pos = [0.0, 0.0, 0.42] # x,y,z [m]
        default_joint_angles = { # = target angles [rad] when action = 0.0
            'FL_hip_joint': 0.1,   # [rad]
            'RL_hip_joint': 0.1,   # [rad]
            'FR_hip_joint': -0.1 ,  # [rad]
            'RR_hip_joint': -0.1,   # [rad]

            'FL_thigh_joint': 0.8,     # [rad]
            'RL_thigh_joint': 1.,   # [rad]
            'FR_thigh_joint': 0.8,     # [rad]
            'RR_thigh_joint': 1.,   # [rad]

            'FL_calf_joint': -1.5,   # [rad]
            'RL_calf_joint': -1.5,    # [rad]
            'FR_calf_joint': -1.5,  # [rad]
            'RR_calf_joint': -1.5,    # [rad]
        }

    class control( LeggedRobotCfg.control ):
        # PD Drive parameters:
        control_type = 'P'
        stiffness = {'joint': 20.}  # [N*m/rad]
        damping = {'joint': 0.5}     # [N*m*s/rad]
        # action scale: target angle = actionScale * action + defaultAngle
        action_scale = 0.25
        # decimation: Number of control action updates @ sim DT per policy DT
        decimation = 4

    class asset( LeggedRobotCfg.asset ):
        file = '{LEGGED_GYM_ROOT_DIR}/resources/robots/go2/urdf/go2.urdf'
        name = "go2"
        foot_name = "foot"
        penalize_contacts_on = ["thigh", "calf"]
        terminate_after_contacts_on = ["base"]
        self_collisions = 1 # 1 to disable, 0 to enable...bitwise filter
  
    class rewards( LeggedRobotCfg.rewards ):
        soft_dof_pos_limit = 0.9
        base_height_target = 0.25
        class scales( LeggedRobotCfg.rewards.scales ):
            torques = -0.0002
            dof_pos_limits = -10.0

class GO2RoughCfgPPO( LeggedRobotCfgPPO ):
    class algorithm( LeggedRobotCfgPPO.algorithm ):
        entropy_coef = 0.01
    class runner( LeggedRobotCfgPPO.runner ):
        run_name = ''
        experiment_name = 'rough_go2'

这个配置文件,重点关注 class asset类和class runner( LeggedRobotCfgPPO.runner ):

2.添加到task_registry

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   # 添加的

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() )  # 添加的

添加上面代码中带#添加的注释的两段代码,
到此,就可以运行下面代码训练你的机器人:

python train.py --task=go2 --num_env=3000 --headless

运行下面代码,验证你训练的模型:

python play.py --task=go2

总结

提示:这里对文章进行总结:
legged_gym, 整体来说对于快速上手还是很友好的。文章来源地址https://www.toymoban.com/news/detail-828087.html

到了这里,关于isaacgym(legged_gym)学习 (一)—— 添加自己的机器人模型并训练的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 飞书开发学习笔记(七)-添加机器人及发送webhook消息

    1.1 添加飞书机器人过程 在群的右上角点击折叠按键…选择 设置 群机器人中选择 添加机器人 选择自定义机器人,通过webhook发送消息 弹出的信息中有webhook地址,选择复制。 安全设置后续可以设置,比如将信任的IP地址加入IP白名单。 选择仅群主和添加者可以编辑移除机器人

    2024年02月05日
    浏览(32)
  • 机器人仿真-gazebo学习笔记(4)xacro和传感器添加

    URDF文件不具备代码复用的特性(在上一篇文章也能发现,其实左右轮是极其相似的但还是要单独描述),一个复杂的机器人模型会拥有大量了的传感器和关节组件,这时候使用URDF文件就太难阅读了。精简化、可复用、模块化的xacro文件来了。 1.优势: ·精简模型代码: xacro是一

    2024年02月06日
    浏览(35)
  • gym库文档学习(一)

    最近老板突然让我编写一个自定义的强化学习环境,一头雾水(烦),没办法,硬着头皮啃官方文档咯~ 第一节先学习常用的API: 在 Gym 中初始化环境非常简单,可以通过以下方式完成: Gym 实现了经典的“代理环境循环”: 代理在环境中执行一些动作(通常通过将一些控制

    2024年02月05日
    浏览(23)
  • gym库文档学习(二)

    本文档概述了为创建新环境而设计的 Gym 中包含的创建新环境和相关有用的装饰器、实用程序和测试。您可以克隆 gym-examples 以使用此处提供的代码。建议使用虚拟环境: 在学习如何创建自己的环境之前,您应该查看 Gym 的 API 文档。链接: https://blog.csdn.net/weixin_45985148/articl

    2023年04月16日
    浏览(25)
  • 强化学习环境升级 - 从gym到Gymnasium

    作为强化学习最常用的工具,gym一直在不停地升级和折腾,比如gym[atari]变成需要要安装接受协议的包啦,atari环境不支持Windows环境啦之类的,另外比较大的变化就是2021年接口从gym库变成了gymnasium库。让大量的讲强化学习的书中介绍环境的部分变得需要跟进升级了。 不过,不

    2024年02月08日
    浏览(36)
  • 并行环境让采样速度快两个量级:Isaac Gym提速强化学习

    仿真环境的 采样速度慢 ,是强化学习的一个瓶颈。例如,论文中常用的 MuJoCo 环境,台式机或服务器的 CPU 上运行仿真环境,一小时大概采集十万或百万步(1e5 或 1e6 步);训练一个智能体(收敛后)需要十多个小时。 加快仿真环境的采样速度,通常有以下方法: 增加并行

    2024年02月16日
    浏览(34)
  • Pytorch深度强化学习:Gym安装与环境搭建教程(附基本指令表)

    本专栏重点介绍强化学习技术的数学原理,并且 采用Pytorch框架对常见的强化学习算法、案例进行实现 ,帮助读者理解并快速上手开发。同时,辅以各种机器学习、数据处理技术,扩充人工智能的底层知识。 🚀详情:《Pytorch深度强化学习》 强化学习是在潜在的不确定复杂环

    2024年02月05日
    浏览(83)
  • Python深度强化学习实战 ——OpenAI Gym-CarRacing自动驾驶项目

          💭 写在前面: 本篇是关于 OpenAI Gym-CarRacing 自动驾驶项目的博客,面向掌握 Python 并有一定的深度强化学习基础的读者。 GYM-Box2D CarRacing 是一种在 OpenAI Gym 平台上开发和比较强化学习算法的模拟环境。它是流行的 Box2D 物理引擎的一个版本,经过修改以支持模拟汽车在

    2024年02月16日
    浏览(30)
  • 【动手学强化学习】安装gym subprocess-exited-with-error

    以下内容均在ubuntu18.0.4环境使用 最近在看《动手学强化学习》安装运行相关的gym环境时候遇到了一些问题。 1、文中使用gym为== 0.18.3 该版本 支持 python3.8, python3.9 使用会有问题,env.seed()无法直接使用。(使用3.8.16 可成功运行文中代码) 2、在linux下本来已经安装了一个pyth

    2024年02月11日
    浏览(40)
  • Anaconda+PyCharm+PyTorch+Gym深度强化学习环境搭建 送新手直接送进炼丹炉

    需要下载的软件和包: Anaconda Pycharm Python PyTorch gym pygame 直接从官网下载: https://www.anaconda.com https://www.anaconda.com/ 点击Download下载即可。 下载好后,打开安装包,自己选一个安装路径,默认路径也行,放其他盘也行,我安装在D盘下的Anaconda文件夹下。 安装向导一路下一步即可

    2024年02月06日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包