ISAAC-SIM跨机器复现

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


基础环境安装

下载 Omniverse

Omniverse官网

在这里插入图片描述从左下角的 Download中选择合适的版本下载即可;
下载完成后:

chmod +x omniverse-launcher-linux.AppImage

然后双击 omniverse-launcher-linux.AppImage 即可打开使用
PS: 初次使用,需要登录下 NV 帐号

安装 Isaac Sim

方法一:

交易所 中搜索 isaac sim 然后选择对应的版本下载就可
在这里插入图片描述但是受限与网络影响,很大概率下载不动,速度及其缓慢,可尝试方法二

方法二:

  1. 下查看下配置环境的目录:
    在这里插入图片描述

  2. 按照方法一操作下,先点击 安装 再点击 取消.

  3. 打开步骤1中的日志位置,找到 launcher.log 文件,然后找到最新的 log 记录,会出现大概这样一行:
    [2024-10-23 11:26:59.183] [debug] [9974c97a-bb3d-45ed-a476-0a46611dba69] Save https://asset.launcher.omniverse.nvidia.com/isaac-sim/4.2.0/linux-x86_64/package.zip?Expires=1729697218&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9hc3NldC5sYXVuY2hlci5vbW5pdmVyc2UubnZpZGlhLmNvbS9pc2FhYy1zaW0vNC4yLjAvbGludXgteDg2XzY0L3BhY2thZ2UuemlwIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNzI5Njk3MjE4fX19XX0_&Signature=jzYEC0KlEDov7bJgdQVAnMxdSIsf6SQQvj9PgLSPad87BmIfF73VfoPbTNMsVneNpyMBeM0iE7eiOuGpYpjkE2iHDcD91NneekV12o0l0-9EyoZi~dirg7savZOTaem6Mucmn7Z~NM6JIEnADBazqScvQH5e--3Qt3w7A-A~5Qt5OP~KIhiWX5pWbj2bNYME4KjJhH1bwEsfwiXOEV-AuPF4utMpwgr4pIpLEPiMd2M7wcrLXgBewZzoCTJysDpItEOQHMEQFEWwq9b04ogx7YHCnf8bI6MKCiSmnEqy~64YC4fWL5bgAw6diZigZ-~I9kvjJQv8aVpPBoDvpCI0kg__&Key-Pair-Id=K13PD0MHC2KFRP to /home/idm/.local/share/ov/pkg/isaac-sim-4.2.0/Isaac Sim.zip
    这里就是记录了资源的位置,然后复制下,直接粘贴到浏览器中下载即可

  4. 下载完后是个名字为 package.zip(也可能是其他名字)的包,把这个包放到 /home/idm/.local/share/ov/pkg/isaac-sim-4.2.0/Isaac Sim.zip 中。

  5. 完成后,重新回到方法一 的界面,点击 安装 即可完成安装。

NUCLEUS 配置

  1. launcher 中找到安装 NUCLEUS NAVIGATOR在这里插入图片描述
  2. 创建本地服务
    在这里插入图片描述需要输入用户名和密码;
  3. 下载所需要的资源包
    在这里插入图片描述
  4. 还没完成,后续追加

代码运行

Python Env

运行 standalone 的代码时,需要执行 *pkg//isaac-sim-4.1.0/python.sh ,在该脚本中定义了环境变量及设置,这就导致在进行程序开发时增加了不便利性,为了解决这个问题,做以下修改:

  1. 打开 python.sh 脚本;
  2. SCRIPT_DIR 变量设置为该文件所在的绝对路径;
  3. 可在任意位置下调用 python.sh 脚本
#!/bin/bash

set -e

error_exit()
{
    echo "There was an error running python"
    exit 1
}
# SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
SCRIPT_DIR="/home/user/Omniverse/pkg/isaac-sim-4.1.0"

# MY_DIR="$(realpath -s "$SCRIPT_DIR")"

# Setup python env from generated file (generated by tools/repoman/build.py)
export CARB_APP_PATH=$SCRIPT_DIR/kit
export ISAAC_PATH=$SCRIPT_DIR
export EXP_PATH=$SCRIPT_DIR/apps
source ${SCRIPT_DIR}/setup_python_env.sh

# By default use our python, but allow overriding it by checking if PYTHONEXE env var is defined:
python_exe=${PYTHONEXE:-"${SCRIPT_DIR}/kit/python/bin/python3"}


if ! [[ -z "${CONDA_PREFIX}" ]]; then
  echo "Warning: running in conda env, please deactivate before executing this script"
  echo "If conda is desired please source setup_conda_env.sh in your python 3.10 conda env and run python normally"
fi

# Check if we are running in a docker container
if [ -f /.dockerenv ]; then
  # Check for vulkan in docker container
  if [[ -f "${SCRIPT_DIR}/vulkan_check.sh" ]]; then
    ${SCRIPT_DIR}/vulkan_check.sh
  fi
fi

# Show icon if not running headless
export RESOURCE_NAME="IsaacSim"
# WAR for missing libcarb.so
export LD_PRELOAD=$SCRIPT_DIR/kit/libcarb.so
$python_exe "$@" $args || error_exit

问题解决

问题1

表象:运行程序,卡死,isaac sim 界面没反映,长时间等待后,会在 terminal 报错
原因:有些 usd 资源是从 NV 的数据库中下载,受限于网络问题,导致卡死
解决方案
1:多尝试几次,解决网络问题;
2:根据报错信息,定位无法下载的文件,然后复制文件路径,直接粘贴到浏览器中,下载,然后将代码中引用的文件改成本地文件即可;
3:配置 NUCLEUS,下载资源包(大概100G左右),在调用时切换成本地文件。具体操作建第二章。

### DexGraspNet 在 Isaac Sim 中的应用 DexGraspNet 是一种基于深度学习的方法,用于预测物体的抓取姿态。它通过结合视觉输入和物理特性来估计最佳的机器人手部配置[^1]。Isaac Sim 提供了一个强大的仿真环境,支持复杂的物理模拟以及机器人的训练与测试。 #### 使用 DexGraspNet 的基本流程 在 Isaac Sim 中集成 DexGraspNet 需要完成以下几个方面的工作: 1. **数据准备** 数据集对于 DexGraspNet 至关重要。通常需要大量的标注好的抓取样本作为模型训练的基础。这些数据可以来自公开的数据集或者自定义采集。如果使用的是 NVIDIA 提供的相关工具链,则可能已经包含了预处理过的数据集[^2]。 2. **模型加载与部署** 可以利用 PyTorch 或 TensorFlow 加载预先训练好的 DexGraspNet 模型权重文件,并将其嵌入到 Isaac Sim 场景中运行推理过程。具体来说,在 Python 脚本里调用 `torch.load()` 函数读取 `.pth` 文件即可恢复网络参数[^3]。 ```python import torch model = YourModelClass() # 替换为实际类名 checkpoint = torch.load('path_to_checkpoint.pth') model.load_state_dict(checkpoint['state_dict']) ``` 3. **传感器设置** 在虚拟环境中布置摄像头和其他感知设备获取目标对象的姿态信息。这一步骤直接影响到后续算法性能表现的好坏程度。例如,RGB-D 图像能够提供丰富的几何结构特征给神经网络分析处理[^4]。 4. **交互逻辑编写** 完成上述准备工作之后,还需要设计具体的控制策略使得机械臂按照预期动作执行操作命令。这部分涉及到状态机转换、路径规划等内容[^5]。 #### 示例代码片段展示如何初始化并运用该技术框架的一部分功能模块: ```python from omni.isaac.gym import GymSimulator gym_sim = GymSimulator() def setup_scene(): gym_sim.create_env() add_camera_sensor() spawn_robot_and_object() setup_scene() run_grasping_experiment(dexgraspnet_model=model) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值