当前位置: 首页 > news >正文

Ubuntu20.04从零安装IsaacSim/IsaacLab

Ubuntu20.04从零安装IsaacSim/IsaacLab

  • 电脑硬件配置:
  • 安装Isaac sim
    • 方案一:pip安装
    • 方案二:预构建二进制文件安装
      • 1、安装ominiverse
      • 2、在ominiverse中安装isaac sim,下载最新的4.2版本
  • 安装Isaac Lab
    • 1、IsaacLab环境克隆
    • 2、创建conda环境
    • 3、创建Isaac Sim符号链接
    • 3、虚拟环境安装Isaac SIm依赖
    • 4、安装IsaacLab扩展
    • 5、检查isaaclab是否安装成功
    • 6、设置自动source setup_isaac.sh
  • IDE设置(Vscode)

电脑硬件配置:

  • 显卡:RTX 4090
  • 系统:Ubuntu 20.04
  • 驱动:535.183.06

安装Isaac sim

方案一:pip安装

由于使用 pip 安装 Isaac Sim 需要 GLIBC 2.34+ 版本兼容性。要检查系统上的 GLIBC 版本,请使用命令 ldd --version 。

这可能会在某些Linux发行版上引起兼容性问题。例如,Ubuntu 20.04 LTS 默认使用 GLIBC 2.31。如果遇到兼容性问题,建议采用 Isaac Sim Binaries Installation 的安装方法。

glibc升级很容易将系统搞崩,而且很有可能会出其他问题,20.04的系统不建议使用这种方式。

由于电脑配置了很多东西,尝试网上的方法(sudo apt install libc6),失败数次后选择放弃,但探索出了安装失败回退到老版本的方法,供大家参考,不是22.04以上的系统不建议使用,下面将分享第二种方法。

方案二:预构建二进制文件安装

1、安装ominiverse

1)下载AppImage文件

2)安装ominiverse launcher

复制安装包到自己想放置的文件夹中,运行下面的指令开始安装

sudo chmod +x omniverse-launcher-linux.AppImage
./omniverse-launcher-linux.AppImage

3)运行登入NVIDIA账户按照引导设置后开始使用

由于ominiverse是运行的底座,因此sim需要在这上面进行安装构建。

2、在ominiverse中安装isaac sim,下载最新的4.2版本

在这里插入图片描述

在这里插入图片描述
上面这种下载方式特别慢,可以从网盘下载,将zip文件重命名为Isaac Sim.zip,放到指定路径(~/.local/share/ov/pkg/isaac-sim-4.2.0/ )下,这里命名千万注意不能出错,之后从EXCHANGE/交易所下点击安装即可从下载好的包进行安装,避免长时间的下载。

  • 网盘链接
https://www.123684.com/s/CF6DVv-5zxMA?
提取码:v7HA

在这里插入图片描述

安装完成即可从LIBRARY -> APPS -> Isaac Sim ,点击LAUNCH启动

请添加图片描述

看到这个界面,即安装成功。

请添加图片描述

之后还需要使用conda创建环境来替代isaac sim原来的环境,并安装相关依赖,这部分可以和isaaclab的放到一块。

如果之前用过其他版本,在安装后第一次需要运行以下命令,以删除所有旧用户数据和缓存变量

${ISAACSIM_PATH}/isaac-sim.sh --reset-user

安装Isaac Lab

1、IsaacLab环境克隆

从github克隆IsaacLab环境到指定目录,可以放置在isaac sim的同级目录下

cd ~/.local/share/ov/pkg/
git clone https://github.com/isaac-sim/IsaacLab.git

2、创建conda环境

这一步骤只在创建虚拟环境时使用一次,之后便不再使用。

cd IsaacLab
# Option 1: Default name for conda environment is 'isaaclab'
./isaaclab.sh --conda  # or "./isaaclab.sh -c"
# Option 2: Custom name for conda environment
./isaaclab.sh --conda my_env  # or "./isaaclab.sh -c my_env"

之后要使用前必须先进入所创建的这个虚拟环境后再用python命令

conda activate isaaclab  # or "conda activate my_env"

一旦进入虚拟环境,就不需要使用 ./isaaclab.sh -p 来运行Python脚本。可以使用环境中的默认Python可执行文件,即通过运行 python 或 python3

3、创建Isaac Sim符号链接

在已安装的Isaac Sim根目录和Isaac Lab目录的 _isaac_sim 之间建立符号链接。这样做方便了索引Python模块并查找与Isaac Sim一起提供的扩展。(在Isaac Lab目录下创建一个isaac sim的超链接)

# enter the cloned repository
cd IsaacLab
# create a symbolic link
ln -s path_to_isaac_sim _isaac_sim
# For example: ln -s ~/.local/share/ov/pkg/isaac-sim-4.2.0 _isaac_sim

执行完这行命令后,在IsaacLab文件夹下会有一个_isaac_sim的超链接

3、虚拟环境安装Isaac SIm依赖

1) 安装依赖
下面所有操作默认在刚刚创建的conda虚拟环境中运行

conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia
pip install stable-baselines3==2.0.0 tensorboard==2.11.0 tensorboard-plugin-wit==1.8.1 protobuf==3.20.3
#设置isaacsim环境变量调用改conda环境中的python,替代掉原环境的python
h #不想每次都用这个命令可以将它加入到.bashrc文件# these dependency are needed by robomimic which is not available on Windows
sudo apt install cmake build-essential

2) 验证是否安装成功

  • 检查sim是否可以从独立的 python 脚本中运行,需要先激活刚刚创建的虚拟环境
# checks that python path is set correctly
python -c "print('Isaac Sim configuration is now complete.')"

输出:Isaac Sim configuration is now complete.

#checks that Isaac Sim can be launched from python
source /home/user/.local/share/ov/pkg/isaac-sim-4.2.0/setup conda env.sh #不想每次都用这个命令可以看第6步
python ${ISAACSIM_PATH}/standalone_examples/api/omni.isaac.core/add_cubes.py

成功会输出如下界面

在这里插入图片描述

4、安装IsaacLab扩展

运行此安装命令,遍历 source/extensions 目录中的所有扩展,同时使用带有 --editable 标志的pip进行安装:

cd IsaacLab
./isaaclab.sh --install # or "./isaaclab.sh -i"

上述代码将按默认设置安装所有学习框架。如果您想只安装特定框架,可以将框架的名称作为参数传递。例如,为了只安装 rl_games 框架,可以运行

./isaaclab.sh --install rl_games  # or "./isaaclab.sh -i rl_games"
# 有效选项有 rl_games, rsl_rl, sb3, skrl, robomimic, none

5、检查isaaclab是否安装成功

# Option 1: Using the isaaclab.sh executable
# note: this works for both the bundled python and the virtual environment
./isaaclab.sh -p source/standalone/tutorials/00_sim/create_empty.py# Option 2: Using python in your virtual environment
source ~/.local/share/ov/pkg/isaac-sim-4.2.0/setup conda env.sh
python source/standalone/tutorials/00_sim/create_empty.py

在这里插入图片描述
出现黑色框框说明安装成功。

6、设置自动source setup_isaac.sh

为了避免每次使用conda环境都需要source一下(不然会报错:ModuleNotFoundError: No module named 'omni.isaac.kit'),我们需要对刚刚创建的conda环境进行设置,为了方便将设置过程写成一个脚本如下,注意更改自己的isaacsim路径。

#!/bin/bash# Step 1: 确认目标环境的路径
ENV_NAME="isaaclab"
ENV_PATH=$(conda info --envs | grep -w "$ENV_NAME" | awk '{print $NF}')if [[ -z "$ENV_PATH" ]]; thenecho "Error: 环境 '$ENV_NAME' 不存在,请确认环境名称是否正确。"exit 1
fiecho "目标环境路径:$ENV_PATH"# Step 2: 创建激活脚本目录
ACTIVATE_DIR="$ENV_PATH/etc/conda/activate.d"
mkdir -p "$ACTIVATE_DIR"
echo "激活脚本目录已创建:$ACTIVATE_DIR"# Step 3: 创建激活脚本
ACTIVATE_SCRIPT="$ACTIVATE_DIR/setup_isaac.sh"
cat <<EOF > "$ACTIVATE_SCRIPT"
#!/bin/bash
source /home/user/.local/share/ov/pkg/isaac-sim-4.2.0/setup_conda_env.sh
EOFecho "激活脚本已创建:$ACTIVATE_SCRIPT"# Step 4: 赋予脚本执行权限
chmod +x "$ACTIVATE_SCRIPT"
echo "激活脚本权限已设置为可执行"# Step 5: 提示完成
echo "激活环境时自动运行命令已成功配置!"
echo "测试:激活 '$ENV_NAME' 环境时,'setup_conda_env.sh' 将自动运行。"

按照下面步骤操作:

touch setup_isaaclab_hook.sh
nano setup_isaaclab_hook.sh
# 复制上面的代码并保存
chmod +x setup_isaaclab_hook.sh
./setup_isaaclab_hook.sh
rm setup_isaaclab_hook.sh

具体原理:每个 Conda 环境都有一个特殊的目录,用于存放在环境激活和停用时自动运行的脚本,将source /home/user/.local/share/ov/pkg/isaac-sim-4.2.0/setup_conda_env.sh在环境激活时运行,完成设置。

至此,IsaacLab安装完成。

IDE设置(Vscode)

由于上述步骤中已经配置好isaac所需的conda环境,因此后续只需要通过在VSCode左下角选择并激活相应的python解释器,或者打开命令面板(Ctrl Shift P)并选择相应的Python解释器,点击运行就可以进行调试运行,如上述验证案例,其输出结果和终端运行结果一致。

https://isaac-sim.github.io/IsaacLab/main/index.html
https://docs.robotsfan.com/isaaclab/source/setup/installation/pip_installation.html
https://docs.omniverse.nvidia.com/isaacsim/latest/installation/install_python.html

相关文章:

Ubuntu20.04从零安装IsaacSim/IsaacLab

Ubuntu20.04从零安装IsaacSim/IsaacLab 电脑硬件配置&#xff1a;安装Isaac sim方案一&#xff1a;pip安装方案二&#xff1a;预构建二进制文件安装1、安装ominiverse2、在ominiverse中安装isaac sim&#xff0c;下载最新的4.2版本 安装Isaac Lab1、IsaacLab环境克隆2、创建con…...

基于Java Springboot大学校园旧物捐赠网站

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术&#xff1a;Html、Css、Js、Vue、Element-ui 数据库&#xff1a;MySQL 后端技术&#xff1a;Java、Spring Boot、MyBatis 三、运行环境 开发工具&#xff1a;IDEA/eclipse 数据…...

【Java 集合】Collections 空列表细节处理

问题 如下代码&#xff0c;虽然定义为非空 NonNull&#xff0c;但依然会返回空对象&#xff0c;导致调用侧被检测为空引用。 实际上不是Collections的问题是三目运算符返回了null对象。 import java.util.Collections;NonNullprivate List<String> getInfo() {IccReco…...

大数据实验4-HBase

一、实验目的 阐述HBase在Hadoop体系结构中的角色&#xff1b;能够掌握HBase的安装和配置方法熟练使用HBase操作常用的Shell命令&#xff1b; 二、实验要求 学习HBase的安装步骤&#xff0c;并掌握HBase的基本操作命令的使用&#xff1b; 三、实验平台 操作系统&#xff1…...

deepin系统下载pnpm cnpm等报错

deepin系统下载pnpm cnpm等报错 npm ERR! request to https://registry.npm.taobao.org/pnpm failed, reason: certificate has expired 报错提示证书过期&#xff0c;执行以下命令 npm config set registry https://registry.npmmirror.com下载pnpm npm install pnpm -g查…...

#Js篇:JSON.stringify 和 JSON.parse用法和传参

JSON.stringify 和 JSON.parse 1. JSON.stringify JSON.stringify 方法将一个 JavaScript 对象或数组转换为 JSON 字符串。 基本用法 const obj { name: "Alice", age: 25 }; const jsonString JSON.stringify(obj); console.log(jsonString); // 输出: {"…...

c#通过网上AI大模型实现对话功能

目录 基础使用给大模型额外提供函数能力用Microsoft.Extensions.AI库实现用json格式回答 基础使用 https://siliconflow.cn/网站有些免费的大模型可以使用&#xff0c;去注册个账户&#xff0c;拿到apikey 引用 nuget Microsoft.Extensions.AI.OpenAI using Microsoft.Extensi…...

pymysql模块

1.pymysql基本使用 打开数据库连接,使用cursor()方法获取操作游标执行SQL语句 获取命令执行的查询结果 1.1 打开数据库连接 # 打开数据库连接 db pymysql.connect(host127.0.0.1,userroot,port3306,password"123",databasedb5) 1.2 使用cursor()方法获取操作游…...

WPF-模板和样式

在 WPF&#xff08;Windows Presentation Foundation&#xff09;中&#xff0c;模板是一种强大的机制&#xff0c;用于定义控件的外观。它允许你将控件的逻辑&#xff08;功能&#xff09;和外观&#xff08;UI&#xff09;分离开来。例如&#xff0c;一个按钮控件&#xff0c…...

网络编程 day1.2~day2——TCP和UDP的通信基础(TCP)

笔记脑图 作业&#xff1a; 1、将虚拟机调整到桥接模式联网。 2、TCP客户端服务器实现一遍。 服务器 #include <stdio.h> #include <string.h> #include <myhead.h> #define IP "192.168.60.44" #define PORT 6666 #define BACKLOG 20 int mai…...

element ui table 每行不同状态

table 每行定义值 tableData: [ { name: ,type:,location:, ziduan:,createtype:,ziduanvalue:,checkAll:true,checkedCities: [空, null, str随机, int随机],isIndeterminate: true,table_id:single,downloaddisabled:true,deldisabled:true} ], table c…...

力扣--LRC 142.训练计划IV

题目 给定两个以 有序链表 形式记录的训练计划 l1、l2&#xff0c;分别记录了两套核心肌群训练项目编号&#xff0c;请合并这两个训练计划&#xff0c;按训练项目编号 升序 记录于链表并返回。 注意&#xff1a;新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1&am…...

windows下,用CMake编译qt项目,出现错误By not providing “FindQt5.cmake“...

开发环境&#xff1a;windows10 qt5.14&#xff0c; 编译器msvc2017x64&#xff0c;CMake3.30&#xff1b; 现象&#xff1a; CMakeList文件里&#xff0c;如有find_package(Qt5 COMPONENTS Widgets REQUIRED) target_link_libraries(dis_lib PRIVATE Qt5::Widgets) 用CMak…...

【element-tiptap】Tiptap编辑器核心概念----结构篇

core-concepts 前言&#xff1a;这篇文章来介绍一下 Tiptap 编辑器的一些核心概念 &#xff08;一&#xff09;结构 1、 Schemas 定义文档组成方式。一个文档就是标题、段落以及其他的节点组成的一棵树。 每一个 ProseMirror 的文档都有一个与之相关联的 schema&#xff0c;…...

半导体工艺与制造篇3 离子注入

离子注入工艺 一般掺杂的杂质类别&#xff0c;包括:提供载流子的施主杂质和受主杂质;产生复合中心的重金属杂质 离子注入往往需要生成井well&#xff0c;其中井的定义&#xff1a;晶圆与杂质之间形成的扩散层或杂质与杂质之间形成的扩散层 离子注入的目的&#xff1a;用掺杂改…...

利用开源的低代码表单设计器FcDesigner高效管理和渲染复杂表单结构

FcDesigner 是一个强大的开源低代码表单设计器组件&#xff0c;支持快速拖拽生成表单。提供丰富的自定义及扩展功能&#xff0c;FcDesigner支持多语言环境&#xff0c;并允许开发者进行二次开发。通过将表单设计输出为JSON格式&#xff0c;再通过渲染器进行加载&#xff0c;实现…...

淘宝 NPM 镜像源

npm i vant/weapp -S --production npm config set registry https://registry.npmmirror.com 要在淘宝 NPM 镜像站下载项目或依赖&#xff0c;你可以按照以下步骤操作&#xff1a; 1. 设置淘宝 NPM 镜像源 首先&#xff0c;你需要设置淘宝 NPM 镜像源以加速下载。可以通过…...

i春秋-GetFlag(md5加密,字符串比较绕过)

练习平台地址 竞赛中心 题目描述 题目内容 你好&#xff0c;单身狗&#xff0c;这是一个迷你文件管理器&#xff0c;你可以登录和下载文件&#xff0c;甚至得到旗帜 点击登录 发现capture需要满足条件substr(md5(captcha), 0, 6)xxxxxx 编写python脚本破解验证码 import has…...

SpringBoot中设置超时30分钟自动删除元素的List和Map

简介 在 Spring Boot 中&#xff0c;你可以使用多种方法来实现自动删除超时元素的 List 或 Map。以下是两种常见的方式&#xff1a; 如果你需要简单的功能并且不介意引入外部依赖&#xff0c;可以选择 Guava Cache。如果你想要更灵活的控制&#xff0c;使用 Spring 的调度功能…...

入门车载以太网(6) -- XCP on Ethernet

目录 1.寻址方式 2.数据帧格式 3.特殊指令 4.使用实例 了解了SOME/IP之后&#xff0c;继续来看看车载以太网在汽车标定领域的应用。 在汽车标定领域XCP是非常重要的协议&#xff0c;咱们先来回顾下基础概念。 XCP全称Universal Measurement and Calibration Protocol&a…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包&#xff1a;import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序&#xff08;自然排序和定制排序&#xff09;Arrays.binarySearch()通过二分搜索法进行查找&#xff08;前提&#xff1a;数组是…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

基于Uniapp开发HarmonyOS 5.0旅游应用技术实践

一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架&#xff0c;支持"一次开发&#xff0c;多端部署"&#xff0c;可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务&#xff0c;为旅游应用带来&#xf…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935&#xff0c;SRS管理页面端口是8080&#xff0c;可…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理&#xff1a;刘治强&#xff0c;浙江大学硕士生&#xff0c;研究方向为知识图谱表示学习&#xff0c;大语言模型 论文链接&#xff1a;http://arxiv.org/abs/2407.16127 发表会议&#xff1a;ISWC 2024 1. 动机 传统的知识图谱补全&#xff08;KGC&#xff09;模型通过…...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目&#xff0c;所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败&#xff0c;具体原因是客户端发送了密码认证请求&#xff0c;但Redis服务器未设置密码 1.为Redis设置密码&#xff08;匹配客户端配置&#xff09; 步骤&#xff1a; 1&#xff09;.修…...

ubuntu22.04 安装docker 和docker-compose

首先你要确保没有docker环境或者使用命令删掉docker sudo apt-get remove docker docker-engine docker.io containerd runc安装docker 更新软件环境 sudo apt update sudo apt upgrade下载docker依赖和GPG 密钥 # 依赖 apt-get install ca-certificates curl gnupg lsb-rel…...

Java 与 MySQL 性能优化:MySQL 慢 SQL 诊断与分析方法详解

文章目录 一、开启慢查询日志&#xff0c;定位耗时SQL1.1 查看慢查询日志是否开启1.2 临时开启慢查询日志1.3 永久开启慢查询日志1.4 分析慢查询日志 二、使用EXPLAIN分析SQL执行计划2.1 EXPLAIN的基本使用2.2 EXPLAIN分析案例2.3 根据EXPLAIN结果优化SQL 三、使用SHOW PROFILE…...