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

电脑硬件配置:

  • 显卡: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版本

在这里插入图片描述

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

在这里插入图片描述
安装完成即可从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安装完成。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/19098.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

力扣hot100-->二分查找

二分查找 1. 33. 搜索旋转排序数组 中等 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转&#xff0c;使数组变为 [nums[k], nums[…

Javaweb梳理17——HTMLCSS简介

Javaweb梳理17——HTML&CSS简介 17 HTML&CSS简介17.1 HTML介绍17.2 快速入门17.3 基础标签17.3 .1 标题标签17.3.2 hr标签17.3.3 字体标签17.3.4 换行17.3.8 案例17.3.9 图片、音频、视频标签17.3.10 超链接标签17.3.11 列表标签 17 HTML&CSS简介 今日目标&#x…

倍福PLC数据 转 IEC61850项目案例

目录 1 案例说明 2 VFBOX网关工作原理 3 准备工作 4 设置倍福PLC 5 配置网关参数采集倍福PLC数据 6 用IEC61850协议转发数据 7 网关使用多个逻辑设备和逻辑节点的方法 8 案例总结 1 案例说明 设置倍福PLC&#xff0c;开通ADS通信设置网关采集倍福PLC数据把采集的数据转…

代码辅助工具 GPT / Cursor

代码辅助工具 GPT / Cursor 文章说明GPT辅助效果第一次提问效果第二次提问效果第三第四次提问效果手动微调布局和宽高的效果第五次要求添加主题切换效果第六次提问--继续让它优化主题切换的效果第七次提问--修改主题切换的按钮位置并添加动画提问词第一次提问词第二次提问词第三…

FPGA 常用 I/O 电平标准有哪些?

在 FPGA 的神奇世界里&#xff0c;I/O 电平标准就像魔法咒语&#xff0c;掌控着芯片与外界交流的方式。对于初涉 FPGA 领域的小白来说&#xff0c;这些标准可能有点神秘莫测&#xff0c;但别担心&#xff0c;今天我就用最通俗易懂的方式为你揭开它们的面纱。 一、电平标准的魔…

网络协议(4)拥塞控制

之前已经说过了tcp也是会考虑网络的情况的&#xff0c;也就是当网络出现问题的时候tcp不会再对报文进行重传。当所有的用户在网络不好的时候都不会对丢失的报文进行重传。这样就会防止网络瘫痪。 这样的机制也就是tcp会进行拥塞控制。 拥塞控制 所谓的慢启动看下面这张图就能…

#define定义宏(2)

大家好&#xff0c;今天给大家分享两个技巧。 首先我们应该先了解一下c语言中字符串具有自动连接的特点。注意只有将字符串作为宏参数的时候才可以把字符串放在字符串中。 下面我们来讲讲这两个技巧 1.使用#&#xff0c;把一个宏参数变成对应的字符串。 2.##的作用 可以把位…

蓝桥杯每日真题 - 第17天

题目&#xff1a;&#xff08;最大数字&#xff09; 题目描述&#xff08;X届 C&C B组X题&#xff09; 题目分析&#xff1a; 操作规则&#xff1a; 1号操作&#xff1a;将数字加1&#xff08;如果该数字为9&#xff0c;变为0&#xff09;。 2号操作&#xff1a;将数字减…

Leetcode打卡:最少翻转次数使二进制矩阵回文I

执行结果&#xff1a;通过 题目&#xff1a;3239 最少翻转次数使二进制矩阵回文I 给你一个 m x n 的二进制矩阵 grid 。 如果矩阵中一行或者一列从前往后与从后往前读是一样的&#xff0c;那么我们称这一行或者这一列是 回文 的。 你可以将 grid 中任意格子的值 翻转 &#…

@JsonSerialize修复前端精度问题

后端id定位为Long类型&#xff0c;前端查询出来的值莫名多了几个000 造成这个问题的原因是精度丢失&#xff0c; java中long数据能表示的范围比js中number大&#xff0c;在跟前端交互时&#xff0c;这样也就意味着部分数值在js中存不下(变成不准确的值)。 在字段上加 JsonSeri…

大模型(LLMs)RAG 版面分析——表格识别方法篇

大模型&#xff08;LLMs&#xff09;RAG 版面分析——表格识别方法篇 一、为什么需要识别表格&#xff1f; 表格的尺寸、类型和样式展现出多样化的特征&#xff0c;如背景填充的差异性、行列合并方法的多样性以及内容文本类型的不一致性等。同时&#xff0c;现有的文档资料不…

基于Matlab PCA人脸识别(二)

1.2 向量与基变换 1.2.1 内积与投影 两个大小相同向量的内积被定义如下&#xff1a;

RE正则表达式 小练习

题目&#xff1a; 答案&#xff1a;

整理:4篇专注于多模态大语言模型(MLLM)的瘦身变体论文

近年来&#xff0c;随着人工智能技术飞速发展&#xff0c;大语言模型&#xff08;LLM&#xff09;和多模态大语言模型&#xff08;MLLM&#xff09;成为了炙手可热的明星。它们不仅能处理文字&#xff0c;还能看图识字&#xff0c;简直是“全能选手”。这种能力得益于模型中加入…

车轮上的科技:Spring Boot汽车新闻集散地

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理汽车资讯网站的相关信息成为必然。开发合适…

go-zero(五) 模板定制

go-zero 模板定制 goctl 代码生成是基于 go 的模板去实现数据驱动的&#xff0c;实际开发中&#xff0c;使用goctl 生成的代码&#xff0c;并不符合我们的需求。 例如&#xff0c;我们刚刚的使用错误管理&#xff0c;我们需要在handler中返回的错误信息。 一、生成模板 首先…

ICML24最新开源时序基础模型MOMENT

论文标题&#xff1a;MOMENT: A Family of Open Time-series Foundation Models 论文链接&#xff1a;https://arxiv.org/pdf/2402.03885 前言 当前时间序列数据上预训练大型模型面临以下挑战&#xff1a;(1) 缺乏大型且统一的公共时间序列数据集&#xff0c;(2) 时间序列特…

Flink和Spark的区别是什么?各自的应用场景是什么?

一、Flink是什么&#xff1f; Flink&#xff1a;Flink 是一个分布式流处理框架&#xff0c;其架构基于流计算&#xff0c;将一切都看作是流。它采用了一种基于事件驱动的架构&#xff0c;数据以流的形式源源不断地进入系统&#xff0c;并且能够实时处理这些数据。例如&#xf…

2024.11.18晚Linux复习课笔记

第一章 cat -n显示行号 -b不显示空行号 pwd 打印当前的工作目录 cd ls 打印当前工作的所有文件 -a -A -l:显示当前文件的详细信息 -r:递归显示 passwd:修改密码 ip a 查看ip地址 poweroff shutdown -h 关机 reboot shutdown -r 第二章 man --help …

基于Spring Boot+Unipp的博物馆预约小程序(协同过滤算法、二维码识别)【原创】

&#x1f388;系统亮点&#xff1a;协同过滤算法、二维码识别&#xff1b; 一.系统开发工具与环境搭建 1.系统设计开发工具 后端使用Java编程语言的Spring boot框架 项目架构&#xff1a;B/S架构 运行环境&#xff1a;win10/win11、jdk17 前端&#xff1a; 技术&#xff1a;框…