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 脚本的示例。




审核编辑:刘清

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

    关注

    211

    文章

    28380

    浏览量

    206919
  • NVIDIA
    +关注

    关注

    14

    文章

    4978

    浏览量

    102992
  • 摄像头
    +关注

    关注

    59

    文章

    4836

    浏览量

    95600
  • 接近传感器
    +关注

    关注

    5

    文章

    188

    浏览量

    24424
  • IMU
    IMU
    +关注

    关注

    6

    文章

    306

    浏览量

    45728

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

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

收藏 人收藏

    评论

    相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    工作站,工作站原理是什么?

    工作站,工作站原理是什么? 工作站,英文名称为Workstation,是一种以个人计算机和分布式网络计算为基础,主要面向专业应用领域,具
    发表于 04-03 14:09 1574次阅读

    DXOMARK扩展其手机后置摄像头测试基准

    9月18日消息,专业相机测评机构DXOMARK 刚刚正式宣布将扩展其手机后置摄像头测试基准,添加了广角和夜间摄影两个测试项目,并更新了“DXOMARK ”的标识和徽标。
    的头像 发表于 09-19 16:07 2727次阅读

    摄像头如何进行气密性防水检测

    使用的摄像头一般都是长期在户外使用,户外复杂多变的自然环境会发生各种各样的状况,比如说雨雪天气、大雾天气等等,如果说摄像头防水处理不合格就有可能进水容易造成拍摄画面不清晰,以及连接线线路短路等情况,就会影响使用者的正常使用,所以
    发表于 04-07 09:42 1305次阅读

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

    Omniverse是NVIDIA模拟器的根本基础,包括加入了多项新功能的Isaac平台。NVIDIA Isaac Sim目前已发布公测版,您
    的头像 发表于 06-22 14:56 3357次阅读
    基于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 1774次阅读

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

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

    NVIDIA 公开课 | AI 机器人开发第二讲 — Isaac Sim 高阶开发

    NVIDIA 公开课——AI 机器人开发第二讲将于明日上线!本次精彩继续,嘉宾将深入讲解  NVIDIA Isaac Sim 的高阶开发 。 NVI
    的头像 发表于 11-10 11:00 960次阅读

    使用 NVIDIA Isaac 仿真并定位 Husky 机器人

    了 ZED 2 摄像头。驾驶 Husky 机器人使用的是 Isaac ROS 2 的最新版本,其中包括用于机器人定位(NVIDIA Isaac ROS VSLAM)、地图构建(
    的头像 发表于 12-26 18:05 1314次阅读
    使用 <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b> 仿真并定位 Husky 机器人