全部文档
当前文档

暂无内容

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

文档中心

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

最近更新时间:2025-10-30 15:30:33

仿真背景介绍

Isaac Sim‌是由NVIDIA开发的一款高性能机器人仿真平台,基于NVIDIA Omniverse构建,专注于机器人仿真、人工智能训练和虚拟测试。Isaac Sim的核心特点包括高保真物理仿真、传感器模拟、AI和机器学习集成、多用户协作和实时渲染等功能。

1.1功能特点

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

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

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

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

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

1.2应用场景

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

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

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

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

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

1.3部署方式

  • 云服务器部署:

    • 适用场景:适用于资源需求稳定、无需频繁扩缩容的业务,隔离性强,部署简单快捷。

    • 使用步骤:新建云服务器配置实例信息后使用远程桌面启动仿真服务。

  • 容器部署:

    • 适用场景:适用于高弹性需求的业务,可以更方便的分配资源,支持即开即用。

    • 使用步骤:需创建容器集群和资源池后新建开发任务,使用IDE和基于容器的远程访问工具启动仿真服务。

云服务器仿真部署步骤

  1. 登录金山云星流平台https://aicp.console.ksyun.com/#/simulationService

  2. 在左侧导航栏中,单击仿真服务

3.在右侧展示界面中点击+新建,开始仿真服务部署流程,并配置以下选项。

  • 基本信息

    • 计费模式

    • 地域

    • 可用区

    • 服务器配置:架构、实例类型等

    • 存储配置:系统盘、性能级别、容量范围、数据盘大小

    • 网络配置:网卡、子网、IP地址、安全组、弹性IP等

    • 系统配置:服务名称、服务器账号密码等

4.在右侧展示界面中点击+新建,开始仿真服务部署流程,并配置以下选项。

5.选择实例配置信息

6.选择存储配置

7.配置网络和安全组

8.系统配置信息

9.部署启动完成

10.添加安全组

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

NoMachine客户端连接

Isaac Sim 服务连接

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

  1. 运行已下载好的NoMachine客户端

2.输入名称、公网IP地址与服务端口,完成后点击Connect连接即可。

Name

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

Host

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

Port

默认4000,云主机在启动时内部nomachine服务跟随启动,公网连接需要安全组放开4000端口。

3.输入用户名和密码,默认用户名为ubuntu,密码为部署时输入的root密码。并勾选save this password in the connection file,一路点击OK完成启动。

4.在界面中双击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 服务连接

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

  1. 登录金山云星流训推平台,点击应用>仿真应用,点击已经新建的仿真主机

2.跳转到云主机界面,点击网卡>挂载辅网卡。

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

ifconfig eth1 x.x.x.x(云主机主网卡EIP) up

4.放开安全组TCP 49100和UDP 1024,并限制源IP。

5.后台执行sim直播流启动脚本,启动直播流服务。

# root账户下运行添加后缀 --allow-root
bash  /home/ubuntu/isaacsim/isaac-sim.streaming.sh  --allow-root

6.脚本执行后,等待日志输出Isaac Sim Full Streaming App is loaded.

7.启动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.登录金山云,进入云服务器界面https://kec.console.ksyun.com/v2/#/kec

2.在右侧展示界面中,点击+新建,开一台GPU云服务器并关机(仅支持关机状态加入容器集群),选择存储配置时请确保GPU云服务器有足够的硬盘空间

3.跳转到容器服务,在右侧展示界面中,点击+新建集群,并配置以下信息

4.完成创建容器集群后,点击集群进入详情配置页面。在左侧导航栏点击节点并选择“+添加已有节点

添加节点界面:

5.确保云主机镜像包含显卡驱动,GPU资源加入到集群后可能会重装系统,请重装ubuntu系统,重装后需要安装Nvidia显卡驱动:

sudo apt-get update
sudo apt install build-essential -y
wget https://us.download.nvidia.com/XFree86/Linux-x86_64/550.144.03/NVIDIA-Linux-x86_64-550.144.03.run
chmod +x NVIDIA-Linux-x86_64-550.144.03.run
sudo ./NVIDIA-Linux-x86_64-550.144.03.run

注意:Isaac sim 5.0.0/lab 2.2.0 镜像请安装550.163.01版本的Nvidia显卡驱动

安装后重启宿主机,并确认驱动安装成功:

nvidia-smi

6.安装重启后等待容器组件安装完成:

7.新建资源池,点击右侧+新建

并配置以下信息:

8.分配GPU资源,用于后续具体任务。点击进入资源池队列管理,新建队列,并配置以下选项:

  • 队列名称

  • 队列管理员

  • 队列成员

  • GPU配置

9.新建开发任务,选择仿真容器镜像,设置存储配置(可能需要),自定义服务打开4000端口并开启公网访问。宿主机需配置公网EIP,并且安全组出口需要开放IP协议。启动成功后,点击连接,通过web IDE任意方式连接到容器终端即可。

kasmVNC客户端连接

1.在终端执行/docker_config/entrypoint.sh启动kamsvnc远程桌面服务。(以Jupyter为例)

2.使用浏览器访问 https://<自定义服务公网IP>:4000 以连接远程桌面(推荐chrome),连接登录账号密码默认为root+kasmvncpasswd,登陆后即可远程使用仿真服务,建议您仔细阅读桌面的readme.md文档以了解当前镜像中服务的部署与使用方式。

仿真效果展示

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

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

纯净模式

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