Skip to main content

Isaac SDK & Sim 环境

Isaac 是 NVIDIA 开放的机器人平台。其 Isaac SDK 包括以下内容:

  • Isaac Apps: 各种机器人应用示例,突出 Engine 特性或专注 GEM 功能
  • Isaac Engine: 一个软件框架,可轻松构建模块化的机器人应用
  • Isaac GEMs: 感知、规划到驱动的模块化算法包,大多 GPU 加速
  • Isaac Sim: Omniverse 平台上的机器人应用仿真工具包

参考 Isaac SDK Doc

准备

参考:

GPU Driver

# 添加驱动源
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update -y

# 查看驱动
ubuntu-drivers devices
# driver : nvidia-driver-470 - distro non-free recommended

# 安装驱动 (470.57 or later)
sudo apt install -y nvidia-driver-470

# 重启
sudo reboot
# 确认版本
nvidia-smi

Isaac SDK

# 解压 Isaac SDK 2021.1
mkdir ~/Envs/isaac-sdk-2021.1
tar -xvf isaac-sdk-20210609-e336b5195.tar.xz -C ~/Envs/isaac-sdk-2021.1

# 安装依赖
cd ~/Envs/isaac-sdk-2021.1/engine
./engine/build/scripts/install_dependencies.sh

试下样例:

cd ~/Envs/isaac-sdk-2021.1/sdk
# 编译
bazel build //apps/samples/stereo_dummy
# 运行
bazel run //apps/samples/stereo_dummy
# 查看
xdg-open http://127.0.0.1:3000

Isaac Sim

Omniverse Launcher

准备好 Omniverse Launcher (Individual) 后,进行安装:

# 添加执行权限
sudo chmod +x omniverse-launcher-linux.AppImage
# 双击进行安装,最后会提示确认 Settings & Install Cache

具体过程,可见 Workstation Setup, Installing Launcher。进一步,阅读 User Guide 了解使用。

Nucleus Service

Nucleus Service 是 Omniverse 应用的数据库,并可多用户协作开发。

该服务于 Omniverse Launcher 的 Nucleus Tab 页,点 “+” 安装:

安装完成后,用之前注册的账号登录,会见到如下文件管理器:

Isaac Sim

Isaac Sim 是 Omniverse 平台上的机器人应用仿真工具包。

该应用于 Omniverse Launcher 的 Exchange Tab 页,搜 “isaac sim” 安装:

安装如果一直完成不了,取消后多试几次就行。

安装完成后,进 Library Tab 页,选择 Isaac Sim,点击 Launch 运行:

弹出如下选择框:

Start 后就可见到如下 Sim 界面:

菜单 Isaac Examples > Import Robots > Carter URDF > Load Robot,尝试加载样例,确认工作正常。

进一步,阅读 Isaac Sim Interface 了解使用。

参考:

VS Code 支持

安装 VS Code

sudo apt install -y ./code_*.deb

之后,于 Isaac Sim 界面,菜单 Window > Extensions 搜索 “vscode” 安装扩展:

ENABLED 打开后,可见 VS Code Link 面板。这时,再 Launch 打开选择框,于 Open in Terminal 里 code . 打开 VS Code:

进行 Debug 调试,选择 “Python: Attach (windows-x86_64/linux-x86_64) ” 运行:

如果弹出安装 Python 扩展:

就 Install 一下:

之后,在 hello_world.py 里打个断点。菜单 Isaac Examples > Hello World > Load World 即可进入断点,进行调试了:

有关支持,可见 VSCode Support

更多