Humanoid-Gym 开源人形机器人端到端强化学习训练框架!星动纪元联合清华大学、上海期智研究院发布!

这篇具有很好参考价值的文章主要介绍了Humanoid-Gym 开源人形机器人端到端强化学习训练框架!星动纪元联合清华大学、上海期智研究院发布!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

系列文章目录

 文章来源地址https://www.toymoban.com/news/detail-849057.html


前言

Humanoid-Gym: Reinforcement Learning for Humanoid Robot with Zero-Shot Sim2Real Transfer

GitHub Repository: GitHub - roboterax/humanoid-gym: Humanoid-Gym: Reinforcement Learning for Humanoid Robot with Zero-Shot Sim2Real Transfer

humanoid-gym,机器人最优控制工具,机器人,人工智能,自动驾驶,强化学习,人形机器人,开源,四足机器人


 

一、介绍

Humanoid-Gym是一个基于Nvidia Isaac Gym的易于使用的强化学习(RL)框架,旨在训练仿人机器人的运动技能,强调从仿真到真实世界环境的零误差转移。Humanoid-Gym 还集成了一个从 Isaac Gym 到 Mujoco 的仿真到仿真框架,允许用户在不同的物理仿真中验证训练好的策略,以确保策略的鲁棒性和通用性。

RobotEra 的 XBot-S(身高 1.2 米的仿人机器人)和 XBot-L(身高 1.65 米的仿人机器人)在真实环境中对该代码库进行了验证,实现了模拟到现实的零距离传输。

用于评估的机器人硬件平台

humanoid-gym,机器人最优控制工具,机器人,人工智能,自动驾驶,强化学习,人形机器人,开源,四足机器人

 

二、仿真环境搭建

 

欢迎访问我们的 Humanoid-Gym!

Humanoid-Gym 是一个基于 Nvidia Isaac Gym 的易于使用的强化学习(RL)框架,旨在训练仿人机器人的运动技能,强调从仿真到真实环境的零误差转移。Humanoid-Gym 还集成了从 Isaac Gym 到 Mujoco 的仿真到仿真框架,允许用户在不同的物理仿真中验证训练好的策略,以确保策略的鲁棒性和通用性。

RobotEra 的 XBot-S(身高 1.2 米的仿人机器人)和 XBot-L(身高 1.65 米的仿人机器人)在真实环境中对该代码库进行了验证,实现了模拟到现实的零距离传输。

2.1 特点

1. 仿人机器人训练

该库为仿人机器人的训练提供全面的指导和脚本。Humanoid-Gym 具有针对仿人机器人的专门奖励,简化了模拟到真实转移的难度。在本资源库中,我们以 RobotEra 的 XBot-L 为主要示例。只需稍作调整,也可用于其他机器人。我们的资源包括设置、配置和执行。我们的目标是通过提供深入的训练和优化,让机器人为真实世界的运动做好充分准备。

全面的训练指南: 我们为训练过程的每个阶段提供详尽的演练。
逐步配置说明: 我们的指导清晰简洁,可确保高效的设置过程。
易于部署的执行脚本: 利用我们预先准备好的脚本,简化培训工作流程。

2. Sim2Sim 支持

sim2sim 管道,使您能够将训练有素的策略转移到高精度和精心设计的仿真环境中。获得机器人后,您就可以放心地在真实环境中部署经过 RL 训练的策略。

我们的仿真器设置,尤其是 Mujoco 的设置,都经过了精心调整,以接近真实世界的场景。这种细致的校准确保了仿真环境和真实世界环境中的性能密切吻合。这一改进使我们的仿真更可信,增强了我们对仿真适用于真实世界场景的信心。

3. 去噪世界模型学习(即将推出)

去噪世界模型学习(DWL)提出了一种先进的模拟到现实框架,将状态估计和系统识别融为一体。这种双方法确保机器人的学习和适应在现实世界中既实用又有效。

增强的仿真适应性: 优化机器人从仿真环境过渡到真实环境的技术。
改进的状态估计能力: 用于精确可靠的状态分析的先进工具。

2.2 安装

用 Python 3.8 生成一个新的 Python 虚拟环境,使用 

conda create -n myenv python=3.8

为获得最佳性能,我们建议使用 NVIDIA 驱动程序版本 525

sudo apt install nvidia-driver-525

。支持的最低驱动程序版本为 515。如果无法安装 525 版本,请确保系统至少有 515 版本,以维持基本功能。
使用 Cuda-11.7 安装 PyTorch 1.13:

conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia

使用

conda install numpy=1.23

安装 numpy-1.23。
安装 Isaac Gym:
从以下地址下载并安装 Isaac Gym Preview 4

Isaac Gym - Preview Release | NVIDIA Developer.

cd isaacgym/python && pip install -e .

 使用

cd examples && python 1080_balls_of_solitude.py

运行示例。
有关故障排除,请参阅 isaacgym/docs/index.html。
安装 Humanoid-Gym:
克隆此软件源。

cd humanoid_gym && pip install -e .

2.3 使用指南

示例

# Launching PPO Policy Training for 'v1' Across 8192 Environments
# This command initiates the PPO algorithm-based training for the humanoid task.
python scripts/train.py --task=humanoid_ppo --run_name v1 --headless --num_envs 8192

# Evaluating the Trained PPO Policy 'v1'
# This command loads the 'v1' policy for performance assessment in its environment. 
# Additionally, it automatically exports a JIT model, suitable for deployment purposes.
python scripts/play.py --task=humanoid_ppo --run_name v1

# Implementing Simulation-to-Simulation Model Transformation
# This command facilitates a sim-to-sim transformation using exported 'v1' policy.
python scripts/sim2sim.py --load_model /path/to/logs/XBot_ppo/exported/policies/policy_1.pt

# Run our trained policy
python scripts/sim2sim.py --load_model /path/to/logs/XBot_ppo/exported/policies/policy_example.pt

1. 默认任务

humanoid_ppo

目的: 基准、PPO 策略、多坐标系低级控制
观察空间: 可变 (47 X H) 维度,其中 H 为坐标系帧数


权限信息: 73 维
humanoid_dwl (即将推出)

2. PPO 策略

训练命令: 如需训练 PPO 策略,请执行

python humanoid/scripts/train.py --task=humanoid_ppo --load_run log_file_path --name run_name

运行训练有素的保单: 要部署训练有素的 PPO 政策,请使用

python humanoid/scripts/play.py --task=humanoid_ppo --load_run log_file_path --name run_name

默认情况下,将加载实验文件夹中最后一次运行的最新模型。不过,也可以通过调整训练配置中的 load_run 和 checkpoint 来选择其他运行迭代/模型。

3. Sim-to-sim

基于 Mujoco 的 Sim2Sim 部署: 使用下面的命令利用 Mujoco 执行仿真到仿真 (sim2sim) 部署:

python scripts/sim2sim.py --load_model /path/to/export/model.pt

4. 参数

CPU 和 GPU 使用情况: 要在 CPU 上运行仿真,请同时设置 --sim_device=cpu 和 --rl_device=cpu。对于 GPU 操作,请相应指定 --sim_device=cuda:{0,1,2...} 和 --rl_device={0,1,2...}。请注意,CUDA_VISIBLE_DEVICES 并不适用,因此必须匹配 --sim_device 和 --rl_device 设置。
无头操作: 包括 --headless,用于无渲染操作。
渲染控制: 按 "v "键可在训练过程中切换渲染。
策略位置: 训练后的策略保存在 humanoid/logs/<experiment_name>/<date_time>_<run_name>/model_<iteration>.pt 中。

5. 命令行参数

关于 RL 训练,请参考人形机器人/utils/helpers.py#L161。关于模拟到模拟过程,请参阅 humanoid/scripts/sim2sim.py#L169。

2.4 代码结构

每个环境都取决于一个 env 文件 (legged_robot.py) 和一个配置文件 (legged_robot_config.py)。后者包含两个类: LeggedRobotCfg(包含所有环境参数)和 LeggedRobotCfgPPO(表示所有训练参数)。
env 和 config 类都使用继承。
cfg 中指定的非零奖励标度会为总奖励贡献一个相应名称的函数。
任务必须使用 task_registry.register(name,EnvClass,EnvConfig,TrainConfig)进行注册。注册可以在 envs/__init__.py 中进行,也可以在本资源库之外进行。

2.5 添加新环境

基本环境 legged_robot 构建了一个粗糙地形运动任务。相应的配置没有指定机器人资产(URDF/ MJCF),也没有奖励标度。

如果需要添加新环境,请在 envs/ 目录下新建一个文件夹,并将配置文件命名为 <your_env>_config.py。新配置应继承现有环境配置。
如果提议使用新机器人
在 resources/ 文件夹中插入相应的资产。
在 cfg 文件中,设置资产路径,定义体名、默认关节位置和 PD 增益。指定所需的 train_cfg 和环境名称(python 类)。
在 train_cfg 中,设置 experiment_name 和 run_name。
必要时,在 <your_env>.py 中创建环境。继承现有环境,覆盖所需的功能和/或添加自己的奖励功能。
在人形机器人/envs/__init__.py 中注册环境。
根据需要修改或调整 cfg 或 cfg_train 中的其他参数。要移除奖励,请将其比例设为零。避免修改其他环境的参数!

2.6 故障排除

请注意以下情况:

# error
ImportError: libpython3.8.so.1.0: cannot open shared object file: No such file or directory

# solution
# set the correct path
export LD_LIBRARY_PATH="~/miniconda3/envs/your_env/lib:$LD_LIBRARY_PATH" 

# OR
sudo apt install libpython3.8

# error
AttributeError: module 'distutils' has no attribute 'version'

# solution
# install pytorch 1.12.0
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch

# error, results from libstdc++ version distributed with conda differing from the one used on your system to build Isaac Gym
ImportError: /home/roboterax/anaconda3/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.20` not found (required by /home/roboterax/carbgym/python/isaacgym/_bindings/linux64/gym_36.so)

# solution
mkdir ${YOUR_CONDA_ENV}/lib/_unused
mv ${YOUR_CONDA_ENV}/lib/libstdc++* ${YOUR_CONDA_ENV}/lib/_unused

2.7 致谢

Humanoid-Gym 的实现依赖于机器人系统实验室(Robotic Systems Lab)创建的 legged_gym 和 rsl_rl 项目的资源。我们特别利用了他们研究中的 LeggedRobot 实现来增强我们的代码库。

2.8 引用

如果您使用本代码或其部分内容,请引用以下内容: 

@software{RobotEra2024Humanoid-Gym,
  author = {RobotEra},
  title = {{Humanoid-Gym: Reinforcement Learning for Humanoid Robot with Zero-Shot Sim2Real Transfer}},
  url = {https://github.com/roboterax/humanoid-gym},
  year = {2024}
}

 

 

到了这里,关于Humanoid-Gym 开源人形机器人端到端强化学习训练框架!星动纪元联合清华大学、上海期智研究院发布!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • SanctuaryAI推出Phoenix: 专为工作而设计的人形通用机器人

    SanctuaryAI推出Phoenix: 专为工作而设计的人形通用机器人

    唯一入选《时代》杂志 2023 年最佳发明的通用机器人。 称机器人自主做家务的速度和 灵活度 已达到了和人类相当的水平。 官网链接:https://sanctuary.ai/ Sanctuary AI 由其开创性的 人工智能控制系统 Carbon™ 提供支持,在宣布其技术首次商业部署后不到两个月,Sanctuary AI 公布了其

    2024年03月09日
    浏览(8)
  • NVIDIA 宣布推出适用于人形机器人的 GR00T 项目基础模型和主要 Isaac 机器人平台更新

    NVIDIA 宣布推出适用于人形机器人的 GR00T 项目基础模型和主要 Isaac 机器人平台更新

    Isaac 机器人平台现为开发人员提供新的机器人训练模拟器、Jetson Thor 机器人计算机、生成式 AI 基础模型以及 CUDA 加速感知和操作库 GTC — NVIDIA 今天宣布推出 GR00T 项目,这是一个用于人形机器人的通用基础模型,旨在进一步推动机器人技术和具体人工智能领域的突破。 作为该

    2024年04月13日
    浏览(8)
  • 机器人训练环境isaac gym以及legged_gym项目的配置问题

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

    isaac gym是现阶段主流的机器人训练环境之一,而“https://leggedrobotics.github.io/legged_gym/”(下称legged_gym)则是入门isaac gym机器人训练的经典开源项目,博主在这里记录实现legged_gym项目过程中的部分环境配置过程: 首先在ubuntu系统中创建新的虚拟环境,python版本为3.8: 进入虚拟

    2024年01月24日
    浏览(8)
  • isaacgym(legged_gym)学习 (一)—— 添加自己的机器人模型并训练

    提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 例如:isaacgym系列学习记录。 这里默认已经安装好isaacgym学习环境,并可以成功运行其中的案例 这里我以宇数科技的GO2机器人为例,去其官网下载GO2的urdf文件 下载好了urdf文件,将其中resources/robots/go2文

    2024年02月20日
    浏览(14)
  • 用 GPU 并行环境 Isaac Gym + 强化学习库 ElegantRL:训练机器人Ant,3小时6000分,最高12000分

    用 GPU 并行环境 Isaac Gym + 强化学习库 ElegantRL:训练机器人Ant,3小时6000分,最高12000分

    前排提醒,目前我们能 “用 ppo 四分钟训练 ant 到 6000 分”,比本文的 3 小时快了很多很多,有空会更新代码 https://blog.csdn.net/sinat_39620217/article/details/131724602 介绍了 Isaac Gym 库 如何使用 GPU 做大规模并行仿真,对环境模块提速。这篇帖子,我们使用 1 张 A100GPU 在 3 个小时之内

    2024年02月16日
    浏览(8)
  • 【对话机器人】开源机器人项目介绍

    目录 1. 闲聊机器人介绍 2. 青云客平台 3. 思知项目 闲聊机器人是一种基于人工智能和自然语言处理技术的智能对话系统,旨在模拟人类的语言交流能力,与用户进行自然、连贯的对话。闲聊机器人能够理解用户的问题或指令,通过分析和处理文本,生成符合语法和语义规则的

    2024年02月11日
    浏览(4)
  • 机器人制作开源方案 | 扫地机器人

    机器人制作开源方案 | 扫地机器人

         扫地机器人是现代家庭清洁的得力助手,能够自主规划清扫路径,避开障碍物,有效覆盖整个清洁区域。扫地机器人的出现极大地减轻了家庭清洁的负担,节省了时间和精力,它可以定期清理地面,确保家居环境的整洁和卫生,让家里变得更加舒适、无尘和宜居。 本文

    2024年02月05日
    浏览(8)
  • 开源机器人SmallRobotArm机器人源码解读

    开源机器人SmallRobotArm机器人源码解读

    开源机器人SmallRobotArm是一个开源的6轴机械臂,都由步进电机驱动,github地址:https://github.com/SkyentificGit/SmallRobotArm  机器人长这个样子 2 欧拉角及姿态变换 由欧拉角求姿态矩阵 源码中用的欧拉角是ZYZ顺组的欧拉角。 已知世界坐标的坐标(x,y,z)和欧拉角(α,β,γ),求出对应的姿

    2024年02月16日
    浏览(9)
  • 机器人制作开源方案 | 送餐机器人

    机器人制作开源方案 | 送餐机器人

    作者: 赖志彩、曹柳洲、王恩开、李雪儿、杨玉凯 单位: 华北科技学院 指导老师: 张伟杰、罗建国 1.1 项目目的       近年来,全国多地疫情频发,且其传染性极高,食品接触是传播途径之一。疫情防控需要大量人员投入,常常出现人力紧张的情况,物资配送已经成为一

    2024年02月12日
    浏览(8)
  • 机器人制作开源方案 | 智能落叶清扫机器人

    机器人制作开源方案 | 智能落叶清扫机器人

    作者:李聪赛 马嘉骏 李佳豪 邵一鸣 池宏伟 单位:唐山学院 指导老师:袁娜       近年来,随着人工智能科学和计算机技术人工智能科学的飞速发展,智能机器人技术已成为当代机器人研究领域的热门话题。其中服务机器人开辟了机器人应用的新领域,服务机器人的出现有

    2024年02月04日
    浏览(8)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包