在最新的版本中,所有的代码被封装成了一个Isaac扩展库,只需要将文件合并到isaaclab里面,运行istall.sh就可以成功安装
- Windows11
- Ubuntu22.04/24.04
- Ubuntu20.04 for Binary install
推荐范同学的一键安装脚本
wget https://docs.robotsfan.com/install_isaaclab.sh -O install_isaaclab.sh && bash install_isaaclab.sh
安装可以参考 安装教程 也可以使用如下代码对isaacsim进行安装 Conda环境:
conda create -n isaaclab python=3.10
conda activate isaaclab
venv:
# create a virtual environment named isaaclab with python3.10
python3.10 -m venv isaaclab
# activate the virtual environment
source isaaclab/bin/activate
下一步,安装所需的python包
#如果你的显卡支持CUDA11,清使用cu118
#pip install torch==2.4.0 --index-url https://download.pytorch.org/whl/cu118
pip install torch==2.4.0 --index-url https://download.pytorch.org/whl/cu121
pip install --upgrade pip
pip install isaacsim-rl isaacsim-replicator isaacsim-extscache-physics isaacsim-extscache-kit-sdk isaacsim-extscache-kit isaacsim-app --extra-index-url https://pypi.nvidia.com
#下面一行可以用于验证isaacsim的安装是否成功了,当然这并不是必须的
# note: you can pass the argument "--help" to see all arguments possible.
isaacsim
下面我们可以安装这个代码库里面的内容了:
git clone [email protected]:Huisouan/isaac-lab-rl_lab.git
cd isaac-lab-rl_lab
如果你是ubuntu系统,安装如下
sudo apt install cmake build-essential
./isaaclab.sh --install # or "./isaaclab.sh -i"
如果你是windows
isaaclab.bat --install :: or "isaaclab.bat -i"
安装完之后会有一个用于eula,直接yes就可以
1如果你使用的windows是默认gbk编码的,那么在运行的时候很可能会认不出Utf-8的编码,这时候就需要到Windows的地区与语言设置里面,把编码格式改成Utf-8的。教程入口
由于nvidia的usd模型都是在neclus服务器上面的,因此每次我们要使用一个模型的时候,都会从nvidia的服务器上下载,这非常耗费时间,因此我们可以选择将模型寻址的路径改成本地。
首先我们需要将asset下载下来,我们可以到nvidia-omniverse官网来下载omniverse-launcher官网入口 有win和linux两个版本的,根据自己情况下载就行。 安装好之后就是这个页面:
资产的下载和安装可以按照这个说明来进行下载: https://docs-prod.omniverse.nvidia.com/isaacsim/latest/installation/install_faq.html#isaac-sim-setup-nucleus-add-assets-mount
在资产下载好之后,寻找到
source/extensions/omni.isaac.lab/omni/isaac/lab/utils/assets.py
这个文件,把里面的NUCLEUS_ASSET_ROOT_DIR 改成本地的文件夹路径,就可以实现本地的文件寻址
直接运行source/rl_lab/train.py
就可以进行训练,如果想要在训练时进行渲染,则将setattr(args_cli, 'headless', True)
这一行注释掉就可以。
运行source/rl_lab/play.py
就可以播放训练结果。
source/rl_lab/rl_lab/tasks/direct/GO2/go2_pmc_env.py
其中:PMCEnvCfg是环境的配置参数,PMCEnv是强化学习环境本体。PMCEnv类里面的step函数是仿真流程。 仿真环境初始化,reward,get_dones,apply_action等都在这里面。
数据集使用MotionData类导入,在source/rl_lab/rl_lab/datasets/motionload.py
文件里面。
数据文件保存在source/rl_lab/data
里面,目前这个数据还有一点问题,但应该不怎么影响训练效果。
如果你想要看一下数据集是什么样的,可以运行
source/rl_lab/playdatasets.py
来播放一下目前有的数据集
source/rl_lab/rl_lab/rsl_rl/pmc_algorithm
主要包括了ppo算法里面的policy,value 以及vqvae的loss的计算,以及网络的反向传播
source/rl_lab/rl_lab/rsl_rl/modules
这一部分包含了网络的init部分以及forward部分,froward部分的算法在函数update_distribution
里面实现。