这个之前也写过关于isaac sim安装的文章了,这里再归纳性的总结一下isaac sim相关的内容,并且通过宇树的go2机器狗来进行强化学习的仿真
(注意:只说明环境配置过程,因为宇树那个训练需要的显存是大于8G的,我的笔记本还没有完全跑起来,但是环境配置算是非常熟悉了)
这个库拓展了模板,更加直观的去训练宇树的机器人
https://github.com/fan-ziqi/robot_lab
https://github.com/isaac-sim/IsaacLabExtensionTemplate
安装isaac sim
官方说明如下
https://isaac-sim.github.io/IsaacLab/main/source/setup/installation/binaries_installation.html#installing-isaac-sim
isaac环境只需要安装Isaac Sim和Isaac Lab两个内容。
从 Isaac Sim 4.5 版本开始,可以将 Isaac Sim 二进制文件直接下载为 zip 文件。所以我们直接去下载即可:
https://docs.isaacsim.omniverse.nvidia.com/4.5.0/installation/download.html
解压出来,然后往环境变量.bashrc中添加:
# Isaac Sim root directory
export ISAACSIM_PATH="${HOME}/isaacsim" # 改为自己的安装路径
# Isaac Sim python executable
export ISAACSIM_PYTHON_EXE="${ISAACSIM_PATH}/python.sh" # 不需要修改
注意修改对应的安装路径。修改完成后,打开一个终端,启动测试
${ISAACSIM_PATH}/isaac-sim.sh
其他测试,直接运行
# checks that python path is set correctly
${ISAACSIM_PYTHON_EXE} -c "print('Isaac Sim configuration is now complete.')"
# checks that Isaac Sim can be launched from python
${ISAACSIM_PYTHON_EXE} ${ISAACSIM_PATH}/standalone_examples/api/isaacsim.core.api/add_cubes.py
注意,如果之前安装过其他版本的isaac sim,需要将之前的所有旧数据和缓存进行清楚,使用命令
${ISAACSIM_PATH}/isaac-sim.sh --reset-user
至此,isaac sim就安装完毕了,这个与之前需要Omniverse的安装也是形成了鲜明的对比,大大简化了安装过程,非常适合入门了。
安装isaac lab
首先git源码
git clone git@github.com:isaac-sim/IsaacLab.git
项目中提供了一个非常不错了自动脚本,但是在使用之前,我们需要为IsaacLab创建一个isaac sim的默认软链接!(这个思路不错,无论安装到哪里,都动态链接一下)
cd IsaacLab
ln -s path_to_isaac_sim _isaac_sim
path_to_isaac_sim修改为自己安装isaac sim的路径即可。
为了更好的管理环境,需要创建一个conda,所以请安装对应的conda。然后通过脚本来创建conda环境:
./isaaclab.sh --conda
这个是默认创建conda环境,名称为env_isaaclab.或者自己进行命名,再后面添加对应的名称.
./isaaclab.sh --conda my_env
接下来就要在这个python环境中安装很多的内容了,所以我们必须要activate对应的环境:
conda activate env_isaaclab
然后安装系统依赖
sudo apt install cmake build-essential
整体安装python依赖
./isaaclab.sh --install
这样就安装完毕了,只需要进行测试:
./isaaclab.sh -p scripts/tutorials/00_sim/create_empty.py
或者:
python scripts/tutorials/00_sim/create_empty.py
可以启动它的训练测试:
./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py --task=Isaac-Ant-v0 --headless
安装robot_lab环境
这才是重点,我们需要去使用robot_lab中更多的模板.这个和issac lab是一脉相承的,只有些许环境需要额外进行安装.
用官方的话来说,robot_lab 是基于 IsaacLab 的机器人 RL 扩展库。它允许您在核心 Isaac Lab 存储库之外的隔离环境中进行开发。
克隆项目
git clone https://github.com/fan-ziqi/robot_lab.git
然后conda进入isaac lab的环境,cd进入robot_lab文件夹中然后运行:
python -m pip install -e source/robot_lab
这里就是robot_lab需要额外安装的环境了.安装完成之后需要进行验证:
python scripts/tools/list_envs.py
显示这些就说明环境配置完毕了.然后我们就可以尝试训练Unitree Go2等丰富的模板了
运行测试
# Train
python scripts/rsl_rl/base/train.py --task RobotLab-Isaac-Velocity-Rough-Unitree-Go2-v0 --headless
# Play
python scripts/rsl_rl/base/play.py --task RobotLab-Isaac-Velocity-Rough-Unitree-Go2-v0
这里去掉headless就可以看到训练过程的可视化情况:
python scripts/rsl_rl/base/train.py --task RobotLab-Isaac-Velocity-Rough-Unitree-Go2-v0
要注意它对显存是有要求的,笔记本的8G是不够用的.