全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

通过平台运行Isaac Sim/Lab仿真服务

最近更新时间:2026-06-01 10:44:03

背景信息

Isaac Sim 是一款高性能机器人仿真平台,基于 Omniverse 构建,专注于机器人仿真、人工智能训练和虚拟测试。其核心特点包括:

  • 高保真物理仿真:基于 PhysX 物理引擎,支持精确的物理交互和动力学仿真。

  • 传感器模拟:支持多种传感器模型,包括摄像头、激光雷达、深度相机、IMU 等,提供逼真的传感器数据输出,适用于训练和测试 AI 算法。

  • AI 和机器学习集成:内置 Isaac SDK,支持深度学习模型的训练和部署,提供预训练的 AI 模型(如目标检测、语义分割)。

  • 多用户协作和实时渲染:基于 Omniverse,支持 USD(Universal Scene Description)格式,便于场景共享和扩展。

  • 模块化和可扩展:提供 Python 和 C++ API,支持自定义仿真逻辑和插件开发。

主要应用场景:

  • 机器人开发:仿真机器人运动控制、路径规划和抓取任务。

  • 自动驾驶:仿真自动驾驶汽车的传感器数据和环境交互。

  • 工业自动化:仿真工业机器人、AGV(自动导引车)和生产线。

  • AI 训练:生成合成数据用于训练深度学习模型。

  • 虚拟测试:在虚拟环境中测试机器人算法和系统,减少对物理硬件的依赖。

部署方式

  • 云服务器部署:适用于资源需求稳定、无需频繁扩缩容的业务,隔离性强,部署简单快捷。新建云服务器配置实例信息后使用远程桌面启动仿真服务。

    目前仅西北3区(宁夏)支持该部署方式。

  • 容器部署:适用于高弹性需求的业务,可以更方便地分配资源,支持即开即用。需创建容器集群和资源池后新建开发任务,使用 IDE 和基于容器的远程访问工具启动仿真服务。

约束限制

  • 使用 NoMachine 方式连接云服务器时,需在安全组中放开 4000 端口。

  • 使用 WebRTC 客户端连接时,因受 NV 官方版本限制,需增加辅助网卡,并将主网卡绑定的 EIP 切换至辅助网卡上,同时放开安全组 TCP 49100 和 UDP 1024 端口,并限制源 IP。

  • 容器部署时,GPU 云服务器需处于关机状态才能加入容器集群。加入集群后系统可能被重装,需重新安装 GPU 显卡驱动。

  • 容器部署的宿主机需配置公网 EIP,安全组出口需开放 IP 协议。

准备工作

  • 已获取星流平台的账号与密码。

  • 已下载 NoMachine 客户端(适用于云服务器部署方式)。

  • 已确认安全组规则配置(NoMachine 方式放开 4000 端口;WebRTC 方式放开 TCP 49100 和 UDP 1024 端口)。

  • 容器部署采用星流平台的开发任务进行,需提前创建计算资源:

实践流程

本实践的整体流程如下:

  1. 选择部署方式(云服务器或容器),完成仿真服务创建与基础配置。

  2. 根据所选部署方式,使用对应客户端(NoMachine / WebRTC / kasmVNC)连接仿真环境。

  3. 启动 Isaac Sim 或 Isaac Lab 服务,查看仿真效果。

云服务器仿真服务部署

部署仿真服务

  1. 登录星流平台,在顶部选择西北3区(宁夏),并点击训练与仿真 > 仿真服务

  2. 仿真服务管理页面,点击 +新建,开始仿真服务部署流程,并配置以下选项:

    • 计费模式:按需选择。

    • 地域:根据实际情况选择,创建后不支持修改。

    • 可用区:根据所选地域,选择目标可用区。

    • 服务器配置:选择可用的GPU资源即可。

    • 镜像类型:默认为公共镜像。

    • 镜像:默认为 Ubuntu-22.04 kspsimulation-sim4.5.0-lab2.1.0

    • 存储配置:包括系统盘容量数据盘类型性能级别容量范围以及删除方式,根据实际情况进行设置即可。

    • 网络配置:选择当前地区内容的主网卡,并选择相应的关联子网、IP 地址、安全组等。

    • 弹性IP:若后续需使用公网IP访问,则选择购买弹性IP,直接进行绑定。否则选择稍后购买即可。

    • 系统配置:包括服务名称、服务器账号密码等,用户自定义即可。

  3. 完成上述配置后,点击立即购买,等待服务部署启动完成。

NoMachine客户端连接

Isaac Sim服务连接

Isaac Sim 是基于 Omniverse 构建的机器人高保真仿真工具,覆盖从环境构建到硬件部署的全流程,提供物理引擎、传感器模拟、合成数据生成等功能,帮助开发者创建逼真的虚拟环境,用于机器人的设计、仿真、测试等。

  1. 登录金山云网络控制台,在左侧导航栏选择安全组(防火墙),找到仿真服务部署步骤中为实例绑定的安全组,进入其详情页面,选择入站规则页签,点击添加,开放相应端口。

    由于本方案中启动方式选择NoMachine方式,需要在安全组中放开4000端口,便于客户端NoMachine连接服务端。

  2. 运行已下载好的 NoMachine 客户端,输入名称、公网 IP 地址与服务端口,完成后点击 Connect 连接即可。

    • Name:用于给当前连接服务起一个别名,无特殊要求。

    • Host:公网 IP(服务器网卡绑定的公网 IP);若内网连接直接写主网卡内网 IP 即可。

    • Port:默认 4000,云服务器在启动时内部 NoMachine 服务跟随启动,公网连接需要安全组放开 4000 端口。

  3. 输入用户名和密码,默认用户名为 ubuntu,密码为部署时输入的 root 密码,并勾选 Save this password in the connection file

  4. 一直点击 OK 完成启动。

  5. 在界面中双击 Isaac Sim 图标,稍等片刻即可完成 Isaac Sim 的服务启动。

Isaac Lab 服务连接

Isaac Lab 是构建在 Isaac Sim 之上的轻量级开源机器人学习框架,专注于机器人学习中的强化学习等功能,提供了相关的 API 和实例,简化工作流(如强化学习、运动规划等)。

打开 Ubuntu 终端 Terminal,输入如下命令,自动开启 Lab 服务:

cd /home/ubuntu/workspace/IsaacLab/
./isaaclab.sh -p scripts/demos/quadrupeds.py

WebRTC 客户端连接

Isaac Sim 服务连接
  1. 返回星流平台,在顶部导航栏选择训练与仿真 > 仿真服务

  2. 在仿真服务管理页面,点击前文操作中创建的服务名称/ID

  3. 跳转到云服务器详情页面,点击网卡 > 挂载辅网卡

  4. 挂载完成后,使用 SSH 工具登录主机后台,将原已挂载到主网卡的 EIP 手动绑定到辅助网卡上。

    ifconfig eth1 x.x.x.x(云服务器主网卡EIP) up
  5. 在云服务器详情页面,选择安全组,,点击已关联的安全组名称/ID

  6. 进入安全组详情页面,点击入站规则> 添加,放开安全组 TCP 49100 和 UDP 1024 端口,并限制源 IP。

    因受 NV 官方版本问题,如须使用 WebRTC 客户端连接,需增加辅助网卡,并将主网卡绑定的 EIP 切换至辅助网卡上,同时放开安全组 TCP 49100 和 UDP 1024 端口。

  7. 登录仿真服务后台,执行 Sim 直播流启动脚本,启动直播流服务。

    # root账户下运行添加后缀 --allow-root
    bash /home/ubuntu/isaacsim/isaac-sim.streaming.sh --allow-root
  8. 脚本执行后,等待日志输出 Isaac Sim Full Streaming App is loaded

  9. 启动 WebRTC 客户端,输入公网 IP 连接即可。

Isaac Lab 服务连接

如需使用 WebRTC 客户端连接 Isaac Lab,可参考连接 Isaac Sim 的方式,设置 IP 和安全组,并执行如下命令等待日志打印输出 Simulation App Startup Complete 后,即可在客户端输入 IP 完成连接。

cd /home/ubuntu/workspace/IsaacLab
LIVESTREAM=2 ./isaaclab.sh -p scripts/tutorials/00_sim/create_empty.py

容器(开发任务)部署仿真服务

部署仿真服务(创建开发任务)

  1. 登录星流平台,在顶部导航栏,选择训练与仿真 > 开发任务

  2. 在开发任务管理页面,点击+新建

  3. 在新建开发任务页面,按照如下要求,配置各项参数。

    • 任务名称:用户自定义即可。

    • 镜像类型:选择官方镜像

    • 镜像:选择Isaac-sim4.5.0-lab2.0.0

    • 资源组:选择准备工作中,提前创建好的GPU资源组

    • 队列:选择准备工作中,提前创建好的GPU队列

    • 资源规格:根据实际情况,选择相应的GPU类型,设置GPU卡数CPU核数内存

    • 自定义服务:点击添加自定义服务,配置以下参数:

      • 服务名称:本实践定义为 vnd

      • 端口:设置为 4000

      • 访问类型:勾选公网访问

  4. 完成上述参数设置后,点击确定,返回开发任务列表页面,等待开发任务状态变为运行中

  5. 在开发任务列表页面,点击指定任务操作列中的连接,通过 Web IDE 任意方式连接到容器终端即可。

kasmVNC 客户端连接

  1. 在终端执行以下命令启动 kasmVNC 远程桌面服务(以 Jupyter 为例):

    /docker_config/entrypoint.sh
  2. 使用浏览器访问 https://<自定义服务公网IP>:4000 以连接远程桌面(推荐 Chrome),连接登录账号密码默认为 rootkasmvncpasswd,登录后即可远程使用仿真服务。

    建议仔细阅读桌面的 readme.md 文档以了解当前镜像中服务的部署与使用方式。

仿真效果展示

Isaac Sim

启动成功后,可在 Isaac Sim 界面中进行机器人仿真操作。

Isaac Lab

在 Isaac Lab 的安装目录下,打开终端,使用目录下的 isaaclab.sh 脚本执行相关操作。

例如:

执行下面指令,生成不同的四足动物,并使用位置命令让机器人站立:

./isaaclab.sh -p scripts/demos/quadrupeds.py

执行下面指令,运行带有 GUI 界面的机器人强化学习训练:

./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py --task=Isaac-Velocity-Rough-G1-V0

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈