用 isaacgym 复现 legged_gym 项目
项目简介
legged_gym
是一个基于 NVIDIA Isaac Gym 的强化学习环境,主要用于训练四足机器人(特别是 ANYmal)在崎岖地形上的运动技能。向项目原作者致谢!
- 项目地址:legged_gym
- 项目文档:legged_gym
注意
下文中的操作在 ROS2GO 512G ISAAC 特别定制版本中有效,不再另行通知。使用 Isaac gym 的方式是基于/home/tianbot/.isaacgym
这一 Python3.8 环境安装的,所以 请勿随意删除 ~/.isaacgym
及~/isaacgym_ws
的任意出厂内置文件,否则可能会造成原本内置好的 isaacgym
训练环境崩溃!!!!!!
提示
如果希望在终端中直接使用 Isaac Gym,首先需要执行以下命令,无需自己重新再配置环境:
source ~/.isaac_env_toolkit && isaac_gym_env
切换到.isaacgym 虚拟环境
如果希望在终端中直接使用 Isaac Gym,首先需要执行以下命令,无需自己重新再配置环境,无需 pip install 安装此项目:
source ~/.isaac_env_toolkit && isaac_gym_env
提示
使用如下命令检查 pip 和 python 的安装路径,确认使用的是虚拟环境中的 pip 和 python
which pip
which python
whereis pip
whereis python
pip --version
注意
如需安装新的依赖项,请自行确定是否会破坏已经内置的环境,如果由于操作不当,造成环境依赖出现问题,请及时在相关售后群里提问,或参考 timeshift 恢复操作进行恢复
pip --version
pip list # 查看当前 pip 下已安装的模块
训练策略
注意
运行下述操作时,无需自己重新再配置环境,无需 pip install -e
安装此项目:
cd ~/isaacgym_ws/src/legged_gym
python legged_gym/scripts/train.py --task=anymal_c_flat
要在 CPU 上运行,请添加以下参数:--sim_device=cpu
, --rl_device=cpu
(可以在 CPU 上使用 sim 并在 GPU 上使用 rl). 在无头模式下运行(无渲染)需要添加参数 --headless
.
提示
重要说明:为了提高性能,训练开始后,按 v
停止渲染,您可以稍后启用它以检查进度。 训练后的策略保存在 issacgym anymal logs
<实验名称> <日期时间> <运行名称>
模型 <iteration>
pt 中<实验名称> 和 <run name>
在训练配置中定义以下命令行参数会覆盖配置文件中设置的默认值:
- --task 任务名称
- --resume: 从某个 checkpoint 恢复训练
- --experiment_name 需要运行或导入的实验名称
- --run_name 运行任务的名称
- --load_run 当
resume=True
,要加载的运行的名称。如果为-1
将导入最近一次运行的名称 - --checkpoint 已保存的 checkout 名称。I 如果为
-1
将导入最近一次的 checkpoint. - --num_envs 创建的训练环境数量
- --seed 随机种子数量
- --max_iterations 训练迭代的最大轮数
终端输出的日志信息如下:
策略演示
只需要运行如下命令即可进行演示
cd ~/isaacgym_ws/src/legged_gym
python legged_gym/scripts/play.py --task=anymal_c_flat
- 默认情况下,加载的策略是
experiment
文件夹最后一次运行的最后一个模型 - 可以通过在
train config
中设置load run
和checkpoint
来选择其他运行模型迭代