具身智能系列教程——(二)isaac ism环境配置与强化学习训练

这个之前也写过关于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是不够用的.

### Isaac Sim 强化学习教程 #### 安装配置 为了在 Isaac Sim 中开展强化学习项目,首先需要确保已按照官方指南完成环境配置和依赖安装[^1]。这包括但不限于 CUDA 环境以及特定版本的 NVIDIA 显卡驱动(Windows 528.24 或 Linux 525.85 版本)[^2]。 #### 创建强化学习环境 Isaac Sim 提供了一个强大的平台来创建复杂的物理场景并集成多种传感器模型,这些对于设计有效的RL训练至关重要。通过 Python API 可以轻松定义任务目标、奖励函数及终止条件等要素[^3]。 #### 集成 ROS2 进行数据交换 考虑到许多实际应用中的机器人通常运行于 ROS (Robot Operating System),因此利用内置支持可以方便地搭建起从模拟器到真实世界的桥梁。特别是借助 `isaac_sim_to_ros_bridge` 工具能够简化这一过程,允许开发者快速迭代测试不同的策略算法。 #### 开发自定义 Agent 针对具体应用场景定制化的智能体开发是必不可少的一环。得益于 PyTorch/TensorFlow 的良好兼容性,在此之上构建复杂神经网络变得十分简单直观。同时,Omniverse Kit 所提供的 Omnigraph 节点编辑功能也为实验提供了极大的灵活性。 #### 示例代码片段:初始化 RL 训练循环 ```python import omni.isaac.kit as kit from omni.isaac.gym.vec_env import VecEnvBase def setup_rl_training(): # 初始化 OmniKit 应用实例 app = kit.OmniKitHelper({ "renderer": "RayTracedLighting", "headless": False, }) # 加载预设好的环境文件 env = VecEnvBase(headless=False) setup_rl_training() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白云千载尽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值