前提条件:

已安装完成Isaac-sim 5.0 , 安装教程及系统环境可参考上一篇文章

Ubuntu 24.04 安装Isaac-sim 5.0 并导入lerobot—So101_ubuntu24.04使用isaac-sim-CSDN博客

本文参考:



使用Isaac Sim二进制安装 — Isaac Lab 文档

用Isaac Lab玩转《 LeRobot 机械手臂训练》-腾讯云开发者社区-腾讯云

第一步:创建环境变量

创建系统IsaacSim的环境变量

1.在主文件夹下 打开 bashrc文件 

nano ~/.bashrc  

2.在末尾添加

# Isaac Sim root directory
export ISAACSIM_PATH="${HOME}/isaacsim/_build/linux-x86_64/release"
# Isaac Sim python executable
export ISAACSIM_PYTHON_EXE="${ISAACSIM_PATH}/python.sh"

3.加载环境变量的配置
source ~/.bashrc

4.验证是否成功

${ISAACSIM_PATH}/isaac-sim.sh


检查仿真器是否可以从独立的 python 脚本中运行:
# 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

第二步:下载IsaacLab

网络有问题的话,可以直接去下载zip,不影响本地使用

git clone https://github.com/isaac-sim/IsaacLab.git

第三步:创建IsaacLab和IsaacSim的软连接

其实就是创建一个快捷方式,使在Lab文件夹里时能直接访问到Sim文件夹

cd IsaacLab

ln -s isaacsim文件夹的路径 _isaac_sim

这是软连接建立好的样子

第三步:建立conda环境(可选)

isaacsim里自带了一个3.11的python,可以直接使用那个环境,也可以利用conda新建一个env

# 1: 使用默认环境名创建env环境,默认名: 'env_isaaclab'
./isaaclab.sh --conda

# 2: 使用自定义环境名
./isaaclab.sh --conda my_env

激活虚拟环境,此后的步骤就在此虚拟环境里运行

第四步:安装

安装一些插件,仅适用Linux

sudo apt install cmake build-essential

安装学习框架

全部安装
./isaaclab.sh --install

#自定义安装,可选模块有rl_games、rsl_rl、sb3、skrl、robomimic、none
./isaaclab.sh --install rl_games

验证是否安装成功

python scripts/tutorials/00_sim/create_empty.py

如果报错ModuleNotFoundError: No module named 'isaacsim'(我出现了这个错误)

cd到isaacSim的release文件夹里去运行一下setup_conda_env.sh,然后重新运行一下启动命令,即可成功启动

cd /home/用户名/isaacsim/_build/linux-x86_64/release
source setup_conda_env.sh

机器狗的例子

官方的文档里有个机器狗行走的例子

# 运行此代码,即可开始训练,1500轮,--headless参数表示没有图形界面,取消这个参数可以显示lab界面
python scripts/reinforcement_learning/rsl_rl/train.py --task=Isaac-Velocity-Rough-Anymal-C-v0 --headless

训练过程

训练结束后,其文件存储在/home/用户名/IsaacLab/logs/rsl_rl/anymal_c_rough/2025-08-23_12-30-35文件夹里,50轮一存储

执行下述命令,可以进行训练结果的模拟

# 此时根目录在IsaacLab,checkpoint表示打开哪个模型
 python scripts/reinforcement_learning/rsl_rl/play.py --task Isaac-Velocity-Rough-Anymal-C-v0 \
    --checkpoint logs/rsl_rl/anymal_c_rough/2025-08-23_12-30-35/model_1499.pt

模拟的结果如下,可以看到机器狗在四处走动

Lerobot抓取的例子

#1 下载项目
git clone https://github.com/MuammerBay/isaac_so_arm101

#2 安装依赖
cd isaac_so_arm101
python -m pip install -e source/SO_100

#3 开始抓取任务的训练
python scripts/rsl_rl/train.py --task SO-ARM100-Lift-Cube-v0 --headless --max_iterations 12000


12000轮,4060ti的卡跑了3个半小时,最后平均奖励有130+,没仔细观察,感觉八九千轮就收敛的差不多了

最后测试一下结果

python scripts/rsl_rl/play.py --task SO-ARM100-Lift-Cube-Play-v0 \                                        
    --checkpoint /home/用户名/isaac_so_arm101/logs/rsl_rl/so_arm100_lift/2025-08-23_14-24-33/model_11999.pt

机械臂可以实现熟练的抓取

Logo

惟楚有才,于斯为盛。欢迎来到长沙!!! 茶颜悦色、臭豆腐、CSDN和你一个都不能少~

更多推荐