0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何利用NVIDIA Isaac Sim对工作站的摄像头性能进行基准测试呢?

丽台科技 来源:NVIDIA英伟达企业解决方案 2024-02-20 16:20 次阅读

机器人通常都会配备摄像头,设计数字孪生仿真时,在模拟环境中准确复制其性能十分重要。

为了确保仿真能够顺利进行,对运行仿真的工作站进行性能检查至关重要。本文将介绍在您的工作站上使用NVIDIA Isaac Sim设置和运行摄像头基准测试的各个步骤。

在开始之前,我们先来了解一下 Isaac Sim 是如何设计添加摄像头,以及如何导出用于 ROS 2 的输出结果。

NVIDIA Isaac Sim 可以仿真多种类型的传感器,包括激光雷达、超声波、通用测距传感器、接触传感器、IMU 和接近传感器等测距传感器。

摄像头传感器是 Isaac Sim 中先进的仿真传感器,您可在用户界面上快速添加该传感器。

6b969ae4-cfc8-11ee-a297-92fbcf53809c.png

▲ 图 1 在 NVIDIA Isaac Sim 上

添加摄像头并选择配置和输出的示例

此外,如下面的示例所示,您还可以使用 Python 脚本加载摄像头或一个 Python 对象中的多个摄像头:

camera = Camera(
  prim_path="/World/camera",
  position=np.array([0.0, 0.0, 25.0]),
  frequency=20,
  resolution=(256, 256),
  orientation=rot_utils.euler_angles_to_quats(np.array([0, 90, 0]), degrees=True),
)

1

设置 Demo

您需要一台配备NVIDIA RTX GPU并安装了新版本 NVIDIA Isaac Sim 2023.1.0 的工作站才能运行此基准测试。本 demo 仅与运行 Ubuntu 20.04 或 Ubuntu 22.04 的 Linux 机器兼容。

该脚本无需用户界面即可运行 Isaac Sim,可以通过终端完成。该脚本将启动模拟器、加载所有需要的摄像头,并在终端中显示输出结果。

2

安装和运行

克隆 isaac_camera_benchmark demo:

git clone https://github.com/nvidia_iot/isaac_camera_benchmark.git
cd isaac_camera_benchmark

该资源库包含在您的屏幕上运行 demo 的所有脚本和文件,但在运行脚本之前,请务必下载 NVIDIA Isaac Sim。

请按照NVIDIA Omniverse 上的说明进行操作。

6ba08c20-cfc8-11ee-a297-92fbcf53809c.png

▲ 图 2 NVIDIA Omniverse、程序库页面

和 NVIDIA Isaac Sim 下载按钮

选择该页面上的 NVIDIA Isaac Sim 2023.1.0 并下载。然后进入终端并运行脚本:

./run_camera_benchmark.sh

该脚本将自动启动新版本 NVIDIA Isaac Sim 并将仿真初始化。

在该仿真中,三个摄像头围绕一个小型虚拟仓库中的三个不同位置,以顺时针方向移动。同时,脚本会在终端上显示当前帧率和 ROS 2 平均频率输出结果。

6bbd9612-cfc8-11ee-a297-92fbcf53809c.png

▲ 图 3 终端上的摄像头输出结果示例

FPS 输出结果可能因工作站配置和硬件设置而发生变化。

如要保存该基准测试的 ROS2 输出结果,请运行:

./ros2record.sh
6bd2f4bc-cfc8-11ee-a297-92fbcf53809c.jpg

▲ 图 4 记录所有已配置摄像头

输出结果的脚本

所有 ros2bag 文件都在 isaac_camera_benchmark/rosbag 文件夹中。

下一章将解释该脚本的内部工作原理,以及如何通过更改其配置来测试多个摄像头或使用不同的分辨率。

3

更改默认配置

共有三个主要文件,您可以通过编写一个配置文件来设计自己的配置。

第一个脚本是 run_camera_benchmark.sh,它加载 Isaac Sim 的新版本、传递一个包含所有配置的脚本并运行此 demo。

该资源库的主要脚本是 camera_benchmark.py,该脚本仅使用 ROS2_bridge 扩展运行 Isaac Sim,并在默认情况下加载 warehouse_with_forklifts.usd 环境,其中包含一个带有两辆叉车的小型虚拟仓库。该仿真将在光线追踪照明下运行。

加载环境后,添加在名为 config.json 的文件中配置的每个摄像头,或者加载三个分辨率为 640 × 480 的摄像头。

该脚本会自动在环境中添加一个摄像头对象,同时构建一个图形,用于读取来自 Isaac Sim 的输出结果、修复分辨率,并发布于 ROS 2 输出结果中。

6be53e38-cfc8-11ee-a297-92fbcf53809c.png

▲ 图 5 从 camera_benchmar.py 中生成的图形

同时,camera_benchmar.py 会加载一个名为 benchmark_camera_node 的 ROS 2 节点,该节点与 ROS 2 摄像头输出结果相连,并测量主题频率平均值。

该脚本还从 Isaac Sim 读取摄像头帧率,并在终端上发布输出结果。

如要更改默认配置,只需新建一个名为 config.json 的 JSON 文件即可。该文件必须包含摄像头的配置。您可以设置不同的选项:

平移:摄像头在环境中的位置,该变量必须是一个三坐标向量,如 [0.0 0.0 0.0]。

分辨率:摄像头输出分辨率是一个整数向量,包含摄像头的分辨率(如 640 × 480)。建议的分辨率包括:

640 × 480

1024 × 768

1920 × 1080 (FHD)

2560 × 1440 (2K)

3840 × 2160 (4K)

以下是新建 config.json 的示例。

{
  "camera": [
    {"translate": [0.0, 0.0, 3.0], "resolution": [640,480]}
    {"translate": [-1.0, 0.0, 6.0], "resolution": [1024,768]}
  ]
}

该输出结果将生成下图中所示的新基准。

6bf8f270-cfc8-11ee-a297-92fbcf53809c.png

▲ 图 6 示例:输出摄像头以及终端上的

FPs ros 主题和 Isaac Sim fps 示例

您可以在 config.json 文件中添加配置,指定要在 Isaac Sim 上启动的仿真类型。

renderer(渲染器):选择渲染器类型。默认为 RayTracedLighting。

headless(无头):要在没有用户界面的情况下运行 Isaac Sim,可以将此布尔变量改为 True。

另一个配置文件示例如下。

{
  "simulation": {"renderer": "RayTracedLighting", "headless": true},
  "camera": [
    {"translate": [0.0, 0.0, 3.0], "resolution": [640,480]},
    {"translate": [-1.0, 0.0, 6.0], "resolution": [1024,768]}
  ]
}

4

总结

通过该脚本,您可以在工作站上监控摄像头的输出结果和 ROS 主题的性能。它还提供了一个如何使用 ROS 2 创建新 Isaac Sim 脚本的示例。




审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    206

    文章

    27052

    浏览量

    201437
  • NVIDIA
    +关注

    关注

    14

    文章

    4597

    浏览量

    101763
  • 摄像头
    +关注

    关注

    59

    文章

    4612

    浏览量

    92924
  • 接近传感器
    +关注

    关注

    5

    文章

    178

    浏览量

    24250
  • IMU
    IMU
    +关注

    关注

    5

    文章

    263

    浏览量

    45298

原文标题:开发者专区丨利用 NVIDIA Isaac Sim 对工作站的摄像头性能进行基准测试

文章出处:【微信号:Leadtek,微信公众号:丽台科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    网络摄像头监控的系统优势

     网络摄像头除了能在世界的任何一个角落通过Internet进行远端监控之外,通过网络监控也可以有效地降低成本,它的"即插即用"功能,无须像模拟摄像机一样必须安装同轴电缆。只要利用
    发表于 03-25 15:26

    远程图形工作站-----设计方案

    客户终端 CP20/TC10 ,连接到信息中心机房中的 HC12 远程工作站上进行日常设计工作,而屏幕刷新、运行速度等性能体验和传统的台式工作站完全一样。 HC12 远程图形
    发表于 07-26 13:57

    如何利用摄像头将处于摄像头正下方的物体进行拍照

    有一个难题,摄像头处于视频模式,当物体进入到摄像头的视野内后,再进行图片的保存;物体缓慢的进入过程中,不保存。在以上方法中,不能采用红外等传感器,如何利用图像处理的方法
    发表于 06-13 11:19

    GPS信号受摄像头干扰问题怎么解决?

    屏蔽盒中进行无线测试摄像头对GPS信号有近15个dB的干扰。已经采用的方案但未能解决问题:1、将摄像头包裹铜皮屏蔽起来,未得到改善;2、更改摄像头
    发表于 11-27 22:09

    利用CreateCaptureWindowA和picturebox 进行USB摄像头采集

    在VB 和VC当中调用摄像头时候,大多都是用的图像控件,也就是picturebox,另外捕捉摄像头时候大多是capCreateCaptureWindowA。那么,在LabVIEW怎么利用相同
    发表于 03-02 14:09

    如何利用行车记录仪后视摄像头外挂多个摄像头

    询问商家,说视频分割器输出的信号和行车记录仪输入的摄像头信号不一致,无法实现。请问技术高手,我以上的想法能否实现,若利用视频分割器不能实现,那采用什么方法能实现切换?其实我自己有个最笨的想法:把几个
    发表于 08-11 20:07

    请问树莓派官方的摄像头能进行实时监控吗?

    请问树莓派官方的摄像头能进行实时监控吗!是不是实现实时监控只能用USB摄像头啊!
    发表于 11-11 05:55

    应用于苹果、华为手机摄像头测试

    一旦打不开,就分不清楚到底是排线的问题还是摄像头的问题,接下来,就需要再次返工,再换摄像头或者排线再焊接一次后连接主板进行测试。如果利用
    发表于 12-12 14:25

    应用于苹果、华为手机摄像头测试

    。但是一旦打不开,就分不清楚到底是排线的问题还是摄像头的问题,接下来,就需要再次返工,再换摄像头或者排线再焊接一次后连接主板进行测试。 如果利用
    发表于 12-20 11:05

    怎样去安装ROS与USB摄像头

    怎样去安装ROS与USB摄像头?如何对其进行测试
    发表于 02-11 07:07

    如何用VideoCapture进行USB摄像头的视频捕捉

    为什么用VideoCapture进行USB摄像头的视频捕捉会失败?如何用VideoCapture进行USB摄像头的视频捕捉
    发表于 02-14 07:25

    如何在OKMX6UL-C上利用摄像头做图像采集

    摄像头进行图像采集,大体的框架是什么? 底层驱动和顶层程序显示需要做些什么?3. 需要用到v4l2、OpenCV等这些程序吗?不了解利用摄像头进行
    发表于 12-02 06:49

    基于Omniverse的NVIDIA Isaac Sim现已发布公测版

    Omniverse是NVIDIA模拟器的根本基础,包括加入了多项新功能的Isaac平台。NVIDIA Isaac Sim目前已发布公测版,您
    的头像 发表于 06-22 14:56 3167次阅读
    基于Omniverse的<b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b> <b class='flag-5'>Sim</b>现已发布公测版

    NVIDIA Isaac Sim 2022.1版本的亮点及功能

    NVIDIA 宣布推出2022.1 版 NVIDIA Isaac Sim。作为一种机器人仿真和合成数据生成(SDG)工具,这个 NVIDIA
    的头像 发表于 07-01 11:19 1370次阅读

    NVIDIA AI机器人开发— NVIDIA Isaac Sim入门

    NVIDIA 最新公开课来了,本次将围绕用于开发和训练智能机器人的模拟平台—— NVIDIA Isaac SimNVIDIA
    的头像 发表于 10-19 15:58 1397次阅读