IsaacLab 从入门到精通(一) 环境配置和依赖安装
CSDN 2024-08-20 08:01:02 阅读 98
IsaacLab 从入门到精通(一) 环境配置和依赖安装
IsaacLab是NVIDIA提供的一个机器人强化学习仿真环境,它基于机器人仿真环境IsaacSim和机器人强化学习环境IsaacGym进行构建,它能够提供逼真的图像渲染和物理模拟,同时能够大幅提高强化学习的效率,因而成为近年来最受关注的强化学习和机器人仿真平台之一。
1.1 IsaacSim
1.1.1 环境需求
Isaac sim 系统需求
Isaac sim 驱动需求
1.1.2 安装方式
(1) Pip 安装方式(推荐)
这种安装方式不需要安装启动器,十分简洁,对于仅需Robot开发的任务友好
建议先通过conda 创建虚拟环境python 3.10 再进行安装
https://docs.omniverse.nvidia.com/isaacsim/latest/installation/install_python.html
(2) Workstation 安装方式
这种方式会安装启动器,优点是独立打开isaac sim方便,可以装很多app
https://docs.omniverse.nvidia.com/isaacsim/latest/installation/install_workstation.html
(3) 其他方式
https://docs.omniverse.nvidia.com/isaacsim/latest/installation/install_container.html
1.2 IsaacLab
1.2.1 环境需求
推荐使用Conda虚拟环境安装,需要torch 2.2.2 和cu118(或者cu121)
https://isaac-sim.github.io/IsaacLab/source/setup/installation/pip_installation.html
然后git clone isaaclab
<code>git clone https://github.com/isaac-sim/IsaacLab.git
1.2.2 安装
按教程流程走就可以了,注意rsl-rl这个库后面会再独立安装一次,因此这里可以不选择装rsl-rl。
1.3 IsaacLab自定义任务模板
1.3.1 环境需求
需要安装Isaac sim及Isaac Lab,并且保证它们能够正常工作。
有了IsaacLab, 如何自定义自己的任务呢?目前在github上有一些独立扩展模板可以自定义自己的任务,截止至本文时间2024.7.10,主要有四个模板建议选择:
(1)官方的扩展模板(四足):
在orbit模板上进行了一定修改,但仍然依赖于IsaacLab的部分函数和接口。
https://github.com/isaac-sim/IsaacLabExtensionTemplate
(2)宇树的Go2模板(四足):
宇树给Go2平台提供的模板,比较简洁,仅适合四足场景使用
https://github.com/abizovnuralem/go2_omniverse
(3)Fan-ziqi同学的模板(四足):
Fan同学基于官方的模板进行的扩展,独立于IsaacLab,方便开发。
https://github.com/fan-ziqi/robot_lab
(4)本作者(NathanWu7, Qiwei Wu)提供的模板(机械臂和机械手)
参考了Fan同学和官方的模板,以及官方的manipulation代码,自制了一个扩展
https://github.com/NathanWu7/isaacLab.manipulation
由于作者主要的研究方向是Manipulation, 因此后续的教程将以这个模板为基础进行。
1.3.2 安装及部署IsaacLab.manipulation
找一个目录,激活conda环境,执行以下命令安装
git clone https://github.com/NathanWu7/isaacLab.manipulation
cd isaacLab.manipulation
conda activated isaaclab
pip install -e .
然后根据此环境的Readme.md文件,进行依赖的安装,重要部分:
cd isaacLab.manipulation/isaacLab/manipulation/algorithms #如果没有这个目录 创建目录
git clone https://github.com/leggedrobotics/rsl_rl.git
cd rsl_rl
python -m pip install -e .
这些指令会安装RSL-RL这个强化学习库,这个库对于并行的强化学习算法非常友好,对于新的算法可以直接在源码上进行补充,如果提示找不到rsl-rl,再在本库的根目录下运行一下安装命令以生成索引信息。在安装完成后,你应该能够执行以下示例:
python3 scripts/rsl_rl/train.py --task Template-Isaac-Reach-Kinova-v0--num_envs 4096 --headless #会报一些错 主要为urdf和usd文件的原因,不用管
python3 scripts/rsl_rl/train.py --task Template-Isaac-Reach-Franka-v0 --num_envs 4096 --headless
python3 scripts/rsl_rl/train.py --task Template-Isaac-Reach-UR10-v0 --num_envs 4096 --headless
python3 scripts/rsl_rl/train.py --task Template-Isaac-Repose-Cube-Allegro-v0 --num_envs 4096 --headless
其中,–task代表选择哪个任务,这些人物通过环境中的gym.register进行注册,可以ctrl+F找一下在哪里注册的,也可以修改注册时候的任务名字。
–headless模式不会显示图形界面,这在设置并行运行的环境(envs)非常多的时候很有用,如果你不小心开了,可以按键盘的v把图形界面关掉。如果你开的envs很少,也可以开着图形界面,一般在测试时建议开启图形界面(不加–headless)
如果一切正常,那么恭喜你环境已经配置完毕,可以开始自定义自己的任务了,下期教程将会开始逐步介绍如何自定义自己的任务。
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。