概述
Isaac Sim
Isaac Sim 6.0 是英伟达基于 NVIDIA Omniverse Kit 110.1 打造的开源机器人全栈仿真平台,面向自主移动机器人、机械臂、人形机器人、具身智能,提供物理级高保真虚拟仿真、传感器模拟、合成数据生成(SDG)、强化学习闭环、软件在环(SIL)测试能力,是机器人从算法开发、训练到实机部署前验证的标准化虚拟试验场。
科研助手预置了 NVIDIA Isaac Sim、Isaac Lab (v2.3) 以及 ROS 2 环境,彻底免去繁琐的底层依赖配置。借助 NVIDIA Omniverse 的强大算力,您可以在物理精确、视觉真实的虚拟环境中,高效完成从 AI 算法训练到 ROS 2 节点通信的全流程部署。
前置说明
1. 需准备机械臂一套,本案例中以幻尔机械臂为例,不同机械臂联调脚本存在差异;
2. 在科研助手中创建实例时,必须选择配备 NVIDIA GPU 的计算规格。GPU 硬件加速是运行高保真物理仿真和底层光线追踪渲染的必要条件;
3. 在科研助手中创建实例时,需打开对外端口功能。
环境准备
环境准备分为两部分,分别为机械臂本地准备和科研助手开发机环境准备。
机械臂安装准备
1. 按照机械臂产品说明书,将机械臂安装妥当,并连接屏幕HDMI线、供电线、主控电源线、STM32板电源线、接网线;
2. 打开电源,主控开机;
3. 确认机械臂IP。注意:该IP在后续开发机环境准备时将使用到。
科研助手开发机环境准备
机械臂联调脚本准备
在使用过程中,需将机械臂和云端环境联调,参考本机械臂使用方法提前准备联调脚本。请提前在科研助手中通过【科研文件】功能,将本地数据传至开发机。
步骤1:进入科研助手控制台,点击左上角,切换“科研版”;
步骤2:在【数据存储】弹出的选项中,选择【科研文件】。点击【创建科研文件】,此处需注意,科研文件选用的可用区和后续开发机的可用区应在同一个可用区,否则无法跨区挂载。此处选择哈密2。其余请按照实际需求选择。
步骤3:刷新页面,可以在列表中看到创建的科研文件,进入该科研文件详情页,点击右上角【本地上传】-【上传文件夹】,上传准备好的联调文件。
上传完成后,进行下一步开发机准备。
科研助手开发机准备
步骤1:进入科研助手控制台,进入应用商城;
步骤2:在“应用商城”中,找到名为“IsaacSim6.0 机器人仿真平台”的镜像,点击【使用此镜像】,进入开发机购买界面;
步骤3:在购买页面中,【基础信息】-【主机规格】一栏,用户可以按照如下配置选择:
| 配置 | 算力型号 | 可用区 |
|---|---|---|
| 最低配置 | GPU.gn3.m1 | 重庆两江1 |
| 推荐配置 | GPU.gn4.2xl1 | 哈密2 |
| 高端配置 | NVIDIA A100 40G | 中卫4 |
这里以GPU.gn4.2xl1为例,可以看到:
【镜像框架】中框架版本已默认选好【社区镜像】的“vnc-isaac6.0-cuda13.0”
科研文件挂载刚刚创建的research-storage-jixiebi,容器挂载目录可自行选择
对外端口功能打开,IP白名单填写为机械臂的公网IP
其余【基础信息】等可按照实际需要选择
步骤5:点击【确认订单】,完成开发机创建并启动。
启动开发机并登录
步骤1:购买完成后,可以看见开发机状态显示为【启动中】,等待新创建的开发机状态进入到【运行中】,然后点击右侧操作栏【打开】;
步骤2:点击【打开】跳转到开发机,成功进入到vnc页面中,将/home/dataset-assist-0路径中科研文件的挂载内容放在桌面,进入这个路径:/home/batchcom/Desktop/Exhibition_Show/GUI/
步骤3:在这个文件夹下面打开终端,在终端执行如下命令:
#退出到原始环境(默认的conda环境是为了启动Isaac,所以这里要退出,要不然Python版本不
对)
conda deactivate
#启动连接服务的界面
python3 connection.py在这个界面下,分成三个服务,
1.第一个是动作同步服务rosbridge,这个可以不用管,除非第三个连接上之后机械臂没有反应在用这个。
2.第二个是坐标同步服务,想要使用Isaac-sim软件和显示机械臂动作同步,需要打开这个服务。(注意在执行其他移动算法的时候,如果Isaac-sim软件的模型处于运行状态,则要关闭这个服务,要不然会冲突,总之就是执行算法的时候把这个停止掉)。
3.第三个是zenoh的服务端,启动之后就可以连接机械臂了,演示的时候默认打开,如果这个服务延迟大就关掉,采用第一个动作同步服务)
步骤4:依旧在这个文件夹下面打开终端,在终端执行
#退出到原始环境(默认的conda环境是为了启动Isaac,所以这里要退出,要不然Python版本不对)
conda deactivate
#启动移动服务的界面
python3 move_command.py说明:
1.这个界面主要是用来下发机械臂的控制命令,在确保zenoh服务连接成功之后,就可以执行对应的命令了,Isaac仿真的命令要打开Isaac-sim软件启动模型仿真之后才能运行。
2.以视觉识别算法为例,点击之后会进行加载,此时打开游览器,访问localhost:8081端口就可以看到机械臂的摄像头回传回来的实时视频数据。
步骤5:在这个文件夹下面打开终端,在终端执行如下命令:
#退出到原始环境(默认的conda环境是为了启动Isaac,所以这里要退出,要不然Python版本不
对)
conda deactivate
#启动isaac-sim软件模型移动服务的界面
python3 software_self.py1. 这个可以控制Isaac-sim中的模型移动,输入对应的数值来完成Isaac-sim模型的一个移动
2. 打开桌面的Isaac-sim软件,加载模型show_version_12_01.usd
3. 点击右边的播放按钮,模型就处于运行状态了,就能够执行上面的操作
4. 选择上方的tools-physic-physic inspector,这个工具可以直接在软件里面控制模型移动
机械臂本地环境准备
#停止app服务,重要
sudo systemctl stop start_app_node.service
#加载环境变量,每一个终端都要加载
source ~/.bashrc
#打开第一个终端:启动控制电机节点驱动
source~/.bashrc
ros2 launch sdk jetarm_sdk.launch.py
#打开第二个终端:启动相机驱动
source~/.bashrc
ros2 launch peripherals depth_camera.launch.py
#打开第三个终端:启动zenoh服务,注意更改科研助手的公网ip和端口source~/.bashrc
cd ~/DDS_test
./start_zenoh.sh
#如果科研助手的开发机进行了更换
vim start_zenoh.sh
#将里面的地址换成科研助手的对外端口暴露地址就行在科研助手上使用IsaacSim进行机械臂仿真
确保上述准备工作完成后,可进入机械臂仿真操作。
步骤1:从科研助手控制台,点击【打开】按钮,进入开发机界面
步骤2:在开发机界面点击issac-sim软件,进入仿真环境
步骤3:打开服务控制中心,启动zenoh服务,启动坐标转换服务
步骤4:到Isaac软件界面左侧,点击播放按钮-之后实物机械臂会呈现和Isaac软件模型一样的初始动作
步骤5:选择physic inspector,此时拉动关节的值,实物机械臂和模型呈现一样的动作
步骤6:同步展示完成之后,关闭坐标转换服务
步骤7:打开机械臂移动控制中心,打开浏览器,在移动控制中心选择识别算法移动,浏览器进入localhost:8081页面(按实际输入)
步骤8:可以看到机械臂实时传回来的图像画面以及算法的执行过程