機(jī)器人通常都會配備攝像頭,設(shè)計數(shù)字孿生仿真時,在模擬環(huán)境中準(zhǔn)確復(fù)制其性能十分重要。
為了確保仿真能夠順利進(jìn)行,對運行仿真的工作站進(jìn)行性能檢查至關(guān)重要。本文將介紹在您的工作站上使用NVIDIA Isaac Sim設(shè)置和運行攝像頭基準(zhǔn)測試的各個步驟。
在開始之前,我們先來了解一下 Isaac Sim 是如何設(shè)計添加攝像頭,以及如何導(dǎo)出用于 ROS 2 的輸出結(jié)果。
NVIDIA Isaac Sim 可以仿真多種類型的傳感器,包括激光雷達(dá)、超聲波、通用測距傳感器、接觸傳感器、IMU 和接近傳感器等測距傳感器。
攝像頭傳感器是 Isaac Sim 中先進(jìn)的仿真?zhèn)鞲衅鳎稍谟脩艚缑嫔峡焖偬砑釉搨鞲衅鳌?/p>

▲ 圖 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
設(shè)置 Demo
您需要一臺配備NVIDIA RTX GPU并安裝了新版本 NVIDIA Isaac Sim 2023.1.0 的工作站才能運行此基準(zhǔn)測試。本 demo 僅與運行 Ubuntu 20.04 或 Ubuntu 22.04 的 Linux 機(jī)器兼容。
該腳本無需用戶界面即可運行 Isaac Sim,可以通過終端完成。該腳本將啟動模擬器、加載所有需要的攝像頭,并在終端中顯示輸出結(jié)果。
2
安裝和運行
克隆 isaac_camera_benchmark demo:
git clone https://github.com/nvidia_iot/isaac_camera_benchmark.git cd isaac_camera_benchmark
該資源庫包含在您的屏幕上運行 demo 的所有腳本和文件,但在運行腳本之前,請務(wù)必下載 NVIDIA Isaac Sim。
請按照NVIDIA Omniverse 上的說明進(jìn)行操作。

▲ 圖 2 NVIDIA Omniverse、程序庫頁面
和 NVIDIA Isaac Sim 下載按鈕
選擇該頁面上的 NVIDIA Isaac Sim 2023.1.0 并下載。然后進(jìn)入終端并運行腳本:
./run_camera_benchmark.sh
該腳本將自動啟動新版本 NVIDIA Isaac Sim 并將仿真初始化。
在該仿真中,三個攝像頭圍繞一個小型虛擬倉庫中的三個不同位置,以順時針方向移動。同時,腳本會在終端上顯示當(dāng)前幀率和 ROS 2 平均頻率輸出結(jié)果。

▲ 圖 3 終端上的攝像頭輸出結(jié)果示例
FPS 輸出結(jié)果可能因工作站配置和硬件設(shè)置而發(fā)生變化。
如要保存該基準(zhǔn)測試的 ROS2 輸出結(jié)果,請運行:
./ros2record.sh

▲ 圖 4 記錄所有已配置攝像頭
輸出結(jié)果的腳本
所有 ros2bag 文件都在 isaac_camera_benchmark/rosbag 文件夾中。
下一章將解釋該腳本的內(nèi)部工作原理,以及如何通過更改其配置來測試多個攝像頭或使用不同的分辨率。
3
更改默認(rèn)配置
共有三個主要文件,您可以通過編寫一個配置文件來設(shè)計自己的配置。
第一個腳本是 run_camera_benchmark.sh,它加載 Isaac Sim 的新版本、傳遞一個包含所有配置的腳本并運行此 demo。
該資源庫的主要腳本是 camera_benchmark.py,該腳本僅使用 ROS2_bridge 擴(kuò)展運行 Isaac Sim,并在默認(rèn)情況下加載 warehouse_with_forklifts.usd 環(huán)境,其中包含一個帶有兩輛叉車的小型虛擬倉庫。該仿真將在光線追蹤照明下運行。
加載環(huán)境后,添加在名為 config.json 的文件中配置的每個攝像頭,或者加載三個分辨率為 640 × 480 的攝像頭。
該腳本會自動在環(huán)境中添加一個攝像頭對象,同時構(gòu)建一個圖形,用于讀取來自 Isaac Sim 的輸出結(jié)果、修復(fù)分辨率,并發(fā)布于 ROS 2 輸出結(jié)果中。

▲ 圖 5 從 camera_benchmar.py 中生成的圖形
同時,camera_benchmar.py 會加載一個名為 benchmark_camera_node 的 ROS 2 節(jié)點,該節(jié)點與 ROS 2 攝像頭輸出結(jié)果相連,并測量主題頻率平均值。
該腳本還從 Isaac Sim 讀取攝像頭幀率,并在終端上發(fā)布輸出結(jié)果。
如要更改默認(rèn)配置,只需新建一個名為 config.json 的 JSON 文件即可。該文件必須包含攝像頭的配置。您可以設(shè)置不同的選項:
平移:攝像頭在環(huán)境中的位置,該變量必須是一個三坐標(biāo)向量,如 [0.0 0.0 0.0]。
分辨率:攝像頭輸出分辨率是一個整數(shù)向量,包含攝像頭的分辨率(如 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]}
]
}
該輸出結(jié)果將生成下圖中所示的新基準(zhǔn)。

▲ 圖 6 示例:輸出攝像頭以及終端上的
FPs ros 主題和 Isaac Sim fps 示例
您可以在 config.json 文件中添加配置,指定要在 Isaac Sim 上啟動的仿真類型。
renderer(渲染器):選擇渲染器類型。默認(rèn)為 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
總結(jié)
通過該腳本,您可以在工作站上監(jiān)控攝像頭的輸出結(jié)果和 ROS 主題的性能。它還提供了一個如何使用 ROS 2 創(chuàng)建新 Isaac Sim 腳本的示例。
審核編輯:劉清
-
機(jī)器人
+關(guān)注
關(guān)注
213文章
30600瀏覽量
219657 -
NVIDIA
+關(guān)注
關(guān)注
14文章
5496瀏覽量
109110 -
攝像頭
+關(guān)注
關(guān)注
61文章
5059瀏覽量
102460 -
接近傳感器
+關(guān)注
關(guān)注
5文章
201瀏覽量
25209 -
IMU
+關(guān)注
關(guān)注
6文章
403瀏覽量
47604
原文標(biāo)題:開發(fā)者專區(qū)丨利用 NVIDIA Isaac Sim 對工作站的攝像頭性能進(jìn)行基準(zhǔn)測試
文章出處:【微信號:Leadtek,微信公眾號:麗臺科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
遠(yuǎn)程圖形工作站-----設(shè)計方案
如何利用攝像頭將處于攝像頭正下方的物體進(jìn)行拍照
利用CreateCaptureWindowA和picturebox 進(jìn)行USB攝像頭采集
請問樹莓派官方的攝像頭能進(jìn)行實時監(jiān)控嗎?
應(yīng)用于蘋果、華為手機(jī)攝像頭測試座
應(yīng)用于蘋果、華為手機(jī)攝像頭測試座
如何用VideoCapture進(jìn)行USB攝像頭的視頻捕捉呢
工作站,工作站原理是什么?
DXOMARK擴(kuò)展其手機(jī)后置攝像頭的測試基準(zhǔn)
攝像頭如何進(jìn)行氣密性防水檢測
基于Omniverse的NVIDIA Isaac Sim現(xiàn)已發(fā)布公測版
NVIDIA Isaac Sim 2022.1版本的亮點及功能
NVIDIA AI機(jī)器人開發(fā)— NVIDIA Isaac Sim入門
使用 NVIDIA Isaac 仿真并定位 Husky 機(jī)器人

如何利用NVIDIA Isaac Sim對工作站的攝像頭性能進(jìn)行基準(zhǔn)測試呢?
評論