IsaacLab最新2025教程-环境配置(IsaacSim 4.5.0/Ubuntu22.04) 原创

IsaacLab最新2025教程-环境配置(IsaacSim 4.5.0/Ubuntu22.04) 原创

拖了几个月,终于录了一个安装视频在b站:

IsaacLab最新2025教程-环境配置(IsaacSim 4.5.0/Ubuntu22.04) 原创_哔哩哔哩_bilibili

IsaacLab的官方入门教程专栏会不断更新哈:

IsaacLab教程2025_Calm_dw的博客-ZEEKLOG博客

Update

最近看大家的问题感觉又回到了自己本科安软件时候的痛苦,强烈建议安装的时候用conda开个虚拟环境!!!给大家放几个连接希望能有帮助:

1.这个是isaacsim汇总的已知的问题:Known Issues — Isaac Sim Documentation

2.我的服务器硬件:一块4090,2TB固态,CPU忘了,CUDA:12.2,OS: Ubuntu 22.04,GPU Driver: 535.183.01

3.Isaac Lab github可以放issue:https://github.com/isaac-sim/IsaacLab/issues

4.Isacc Lab tutorial:Tutorials — Isaac Lab Documentation

4.纯经验,一般isaacsim和isaaclab都能打开,但是配合rlgames训练时候报错,一般是机器学习的包有问题,建议开一个conda环境重新安装一遍因为不开虚拟环境可能和你本地的之前下载的包冲突。

前言

Isaac Sim今年一月份又更新了,之前的旧版本和Omniverse Launcher在今年十月份之后将不再维护,同时Isaac Lab也新添加了contact-rich factory任务。Isaac Sim 4.5版本取消了nucleus,之前自带的各自asset需要单独下载,如果已经有使用4.2之前版本开发,可以继续用之前的版本,慢慢迁移到新的版本,如果最近开始学习使用可以从这个版本开始,后续肯定会完善常见机械臂,物体模型的导入。

Isaac Sim 4.5官网:Workstation Installation — Isaac Sim Documentation

注意:google默认搜索的依然是旧版本,不是最新的版本,辨别方式很简单,最新版不需要下载launcher。

Isaac Lab Documentation: Local Installation — Isaac Lab Documentation

首先要搞清楚Sim和Lab的关系,Isaac Sim是Nvidia开发的一款物理仿真软件,可以进行digital twin, physical simulation等工作,而Isaac Lab则被开发用作一款训练框架,包括强化学习,模仿学习,teleoperation等。这个框架基于Isaac Sim的仿真,提供了适合并行化训练与MDP(马尔科夫决策过程)的接口和wrapper,同时也适配了多个RL和IL库,比如rl-games,rsl-rl,robomimic等。

pip下载(官网推荐Ubuntu22.04,大家可以根据官网页面查看环境是否适配)

pip下载推荐大家先搭建一个虚拟环境,特别是Sim和Lab动不动就更新,很容易多个版本的project互相影响,疯狂吐槽!

前置搭建conda环境工作:

miniconda Ubuntu quick installation:Installing Miniconda — Anaconda documentation

mkdir -p ~/miniconda3 wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3 rm ~/miniconda3/miniconda.sh

下载之后记得source一下然后可以init(把初始化指令添加到~/.bashrc中,这样每次打开terminal都可以自动运行,不会每次都要手动运行,不熟悉可以搜一下bash文件相关的内容) 

source ~/miniconda3/bin/activate
conda init --all

 正式配置环境:

创建虚拟环境 

conda create -n env_isaaclab python=3.10 conda activate env_isaaclab

cuda11/cuda12安装

pip install torch==2.5.1 --index-url https://download.pytorch.org/whl/cu118

升级最新pip

pip install --upgrade pip

pip下载isaac sim

pip install 'isaacsim[all,extscache]==4.5.0' --extra-index-url https://pypi.nvidia.com

验证isaac sim是否成功,下面两个命令行都可以试试,区别不大

isaacsim
isaacsim isaacsim.exp.full.kit

tips:第一次运行时候会加载很多组件,所以会比较慢,持续十多分钟也是正常的,我的是4090和32核cpu,大概2-3分钟,所以耐心等一下就好,不用提前强制退出。

下载isaac lab, git clone仓库到本地,官网有ssh版本的,我这里是新电脑,就用https了,这个只是不同的clone方式不影响安装效果。

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

下载依赖 

sudo apt install cmake build-essential

跳转到下载的IsaacLab文件夹,官网里省略了这一步,大家找不到./isaaclab.sh的需要注意一下是不是在文件夹路径下 

#跳入到IsaacLab文件夹下,我直接下载在home文件夹下面了所以是: cd ~/IsaacLab #本地安装isaaclab ./isaaclab.sh --install # or "./isaaclab.sh -i"

验证下载是否成功: 

#如果用的是虚拟环境,直接python就可以了,已经默认设置了 python scripts/tutorials/00_sim/create_empty.py

然后试运行一下peginsertFactory任务

#因为我用的是conda环境所以可以之间python,如果没有的话需要./isaaclab.sh -p,num_envs可以设置小一些防止电脑带不动 python scripts/reinforcement_learning/rl_games/train.py --task Isaac-Factory-PegInsert-Direct-v0 --num_envs 32

实验图:

之后会加一些其他的例程,具体讲解会写在后续专门的强化学习文章中。

Binary下载(官网推荐ubuntu20.04版本)

Binary和pip下载区别其实主要是在isaac sim4.5的下载方式,流程大同小异。

在官网下载zip安装包:

然后在左侧侧边栏选取workstation installation,根据内容解压配置环境:

我把代码粘贴过来了:

#创建isaacsim文件夹 mkdir ~/isaacsim #进入下载文件夹 cd ~/Downloads #解压下载的zip包到isaacsim文件夹 unzip "[email protected]+release.19112.f59b3005.gl.linux-x86_64.release.zip" -d ~/isaacsim #进入isaacsim文件夹 cd ~/isaacsim #下载 ./post_install.sh #运行 ./isaac-sim.selector.sh

运行出现选择器,streaming就是headless模式,headless是不会打开GUI界面,也就是仿真窗口,训练内容都会打印在terminal界面,这种模式因为不需要渲染训练速度比需要渲染快5-8倍。

打开自带的教程看一下,教程位置一般在[isaacsim文件夹]/standalone_examples/文件夹下面,有各种教程,大家可以运行熟悉玩一下,我运行了一个示例代码:

./python.sh standalone_examples/tutorials/getting_started_robot.py

显示:

这样子isaac sim就下载完了,isaac lab配置流程一样,只需要建立一个symbolic link就可以了。

依然是先gitclone:

git clone [email protected]:isaac-sim/IsaacLab.git

创建isaac sim symbolic link:

# 进入clone的仓库 cd IsaacLab # 创建符号连接,注意`path_to_isaac_sim`是大家本地的isaac sim路径!需要自己查看的! ln -s path_to_isaac_sim _isaac_sim

创建conda环境(可选):

# 默认conda环境名称 ./isaaclab.sh --conda # or "./isaaclab.sh -c" # 自己设置conda环境名称,修改my_env ./isaaclab.sh --conda [my_env] # or "./isaaclab.sh -c my_env" #激活conda环境 conda activate env_isaaclab # or "conda activate [my_env]"

下载依赖并下载isaaclab:

# 下载robomimic所需的依赖,无法运行在windows sudo apt install cmake build-essential

进入isaaclab文件夹并安装:

#如果是conda环境可以直接用python! ./isaaclab.sh --install

同样可以运行一些示例验证一下就可以了!

Tips

大家可以添加一些快捷键在bash文件,方便进入工作环境,如果是通过pip下载不需要关注export内容。

大家要注意export命令,这里是个人习惯,大家可以参考Isaac Lab安装官网,同时要注意命名问题,在Isaac Sim安装文档中默认文件夹名是isaacsim,但是isaaclab里面默认是[email protected],可能是更新很仓促,搞得比较混乱,大家注意一下就行。

两种下载方式对比

pip方式适合重点在强化学习训练的工作。这个方法将isaac sim作为isaac lab依赖的库来调用了,如果要做一些digital twin或者sim2real任务会有些麻烦。

Binary方式适合训练和部署同时在做,但是需要有linux的功底。下载源码zip文件,解压,下载编译,当作一个完整的project来做,而且路径也方便找(我一般放在home文件夹),导入urdf,用GUI复现一下实验室的真机环境,之后做强化学习部署等等sim2real和物理建模的工作。

我一般是用binary方法在非conda环境下先安装一个Isaac Sim用来做仿真,conda环境下pip配置Isaac Sim + Isaac Lab做强化学习。

Read more

优选算法——位运算

👇作者其它专栏 《数据结构与算法》《算法》《C++起始之路》 1.前要知识 《位操作符的妙用》 2.相关题解 2.1判定字符是否唯一 算法思路: 利用【位图】的思想,每一个【比特位】代表一个【字符】,一个int类型的变量的32位足够表示所有的小写字母。比特位里若为0,表示这个字符没有出现过;若为1,表示该字符出现过。 可以用一个【整数】来充当【哈希表】。 class Solution { public: bool isUnique(string astr) { //利用鸽巢原理优化 if(astr.size()>26) return false; int bitmap=0; for(auto i:

By Ne0inhk

算法优化:提升Lite-Avatar实时性的关键数据结构

算法优化:提升Lite-Avatar实时性的关键数据结构 1. 引言 实时数字人交互正成为AI应用的新趋势,但要做到真正的实时响应并不容易。想象一下,当你和数字人对话时,如果它的嘴型总是慢半拍,或者表情跟不上你的语音节奏,那种体验会有多糟糕。Lite-Avatar作为一款轻量级实时数字人引擎,面临着如何在有限计算资源下实现毫秒级响应的挑战。 传统的数字人渲染往往需要大量的计算资源,导致延迟较高,难以满足实时交互的需求。Lite-Avatar通过精心设计的数据结构和算法优化,成功将渲染延迟控制在50毫秒以内,这背后有着怎样的技术奥秘?本文将带你深入探索那些让Lite-Avatar如此高效的关键数据结构。 2. 实时性挑战与优化思路 2.1 数字人渲染的实时性要求 实时数字人交互对延迟有着极其严格的要求。根据人类感知研究,当延迟超过100毫秒时,用户就能明显感觉到音画不同步。而要实现自然的对话体验,延迟需要控制在50毫秒以内。这意味着从音频输入到画面输出的整个处理链路必须在极短时间内完成。 Lite-Avatar面临的挑战包括:音频特征提取、表情预测、口型同步、画面渲染等

By Ne0inhk

优选算法——二分查找

👇作者其它专栏 《数据结构与算法》《算法》《C++起始之路》 二分查找相关题解 1.二分查找 算法思路: a.定义left,right指针,分别指向数组的左右区间。 b.找到待查找区间的中间点mid,找到后分三种情况讨论:         i.arr[mid]==target说明正好找到,返回mid的值;         ii.arr[mid]>target说明[mid,right]这段区间都是大于target的,因此舍去右边区间,在左边[left,mid-1]的区间继续查找,即让right=mid-1,然后重复b过程;         iii.arr[mid]<target说明[left,mid]这段区间的值都是小于target的,因此舍去左边区间,在右边区间[mid+1,right]

By Ne0inhk
【算法通关指南:算法基础篇】二分算法:1.在排序树组中查找元素的第一个和最后一个位置 2.牛可乐和魔法封印

【算法通关指南:算法基础篇】二分算法:1.在排序树组中查找元素的第一个和最后一个位置 2.牛可乐和魔法封印

🔥小龙报:个人主页 🎬作者简介:C++研发,嵌入式,机器人方向学习者 ❄️个人专栏:《算法通关指南》 ✨ 永远相信美好的事情即将发生 文章目录 * 前言 * 一、二分算法 * 二、在排序树组中查找元素的第一个和最后一个位置 * 2.1题目 * 2.2 算法原理 * 2.3代码 * 三、牛可乐和魔法封印 * 3.1题目 * 3.2 算法原理 * 3.3代码 * 总结与每日励志 前言 本专栏聚焦算法题实战,系统讲解算法模块:以《c++编程》,《数据结构和算法》《基础算法》《算法实战》 等几个板块以题带点,讲解思路与代码实现,帮助大家快速提升代码能力ps:本章节题目分两部分,比较基础笔者只附上代码供大家参考,其他的笔者会附上自己的思考和讲解,希望和大家一起努力见证自己的算法成长 一、

By Ne0inhk