From ab3373c07172115480f939e539588e283f766d8c Mon Sep 17 00:00:00 2001 From: Jaiveer Singh Date: Thu, 25 May 2023 18:41:29 -0700 Subject: [PATCH] Isaac ROS 0.31.0 (DP3.1) --- README.md | 12 ++++++------ isaac_ros_centerpose/package.xml | 2 +- isaac_ros_centerpose/setup.py | 2 +- isaac_ros_dope/config/dope_node.yaml | 25 +++++++++++++----------- isaac_ros_dope/package.xml | 2 +- isaac_ros_dope/src/dope_decoder_node.cpp | 4 ++-- 6 files changed, 25 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 600eb9c..279fc10 100644 --- a/README.md +++ b/README.md @@ -22,11 +22,10 @@ Packages in this repository rely on accelerated DNN model inference using [Trito The following table summarizes the per-platform performance statistics of sample graphs that use this package, with links included to the full benchmark output. These benchmark configurations are taken from the [Isaac ROS Benchmark](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark#list-of-isaac-ros-benchmarks) collection, based on the [`ros2_benchmark`](https://github.com/NVIDIA-ISAAC-ROS/ros2_benchmark) framework. -| Sample Graph | Input Size | AGX Orin | Orin NX | Orin Nano 8GB | x86_64 w/ RTX 3060 Ti | -| ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [DOPE Pose Estimation Graph](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/scripts//isaac_ros_dope_graph.py) | VGA | [40.4 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_dope_graph-agx_orin.json)
29 ms | [16.7 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_dope_graph-orin_nx.json)
120 ms | -- | [82.8 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_dope_graph-x86_64_rtx_3060Ti.json)
14 ms | -| [Centerpose Pose Estimation Graph](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/scripts//isaac_ros_centerpose_graph.py) | VGA | [50.2 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_centerpose_graph-agx_orin.json)
38 ms | [20.2 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_centerpose_graph-orin_nx.json)
67 ms | [15.2 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_centerpose_graph-orin_nano_8gb.json)
85 ms | [13.5 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_centerpose_graph-x86_64_rtx_3060Ti.json)
42 ms | - +| Sample Graph | Input Size | AGX Orin | Orin NX | Orin Nano 8GB | x86_64 w/ RTX 4060 Ti | +| ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| [DOPE Pose Estimation Graph](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/scripts//isaac_ros_dope_graph.py) | VGA | [40.5 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_dope_graph-agx_orin.json)
31 ms | [17.6 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_dope_graph-orin_nx.json)
120 ms | -- | [90.9 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_dope_graph-nuc_4060ti.json)
14 ms | +| [Centerpose Pose Estimation Graph](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/scripts//isaac_ros_centerpose_graph.py) | VGA | [50.2 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_centerpose_graph-agx_orin.json)
37 ms | [23.7 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_centerpose_graph-orin_nx.json)
70 ms | [18.4 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_centerpose_graph-orin_nano_emul.json)
87 ms | [45.0 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/main/results/isaac_ros_centerpose_graph-nuc_4060ti.json)
21 ms | ## Table of Contents @@ -63,7 +62,7 @@ The following table summarizes the per-platform performance statistics of sample ## Latest Update -Update 2023-04-05: Source available GXF extensions +Update 2023-05-25: Performance improvements. ## Supported Platforms @@ -371,6 +370,7 @@ For solutions to problems with using DNN models, please check [here](https://git | Date | Changes | | ---------- | -------------------------------------------------------------------------------------------------------- | +| 2023-05-25 | Performance improvements | | 2023-04-05 | Source available GXF extensions | | 2022-06-30 | Update to use NITROS for improved performance and to be compatible with JetPack 5.0.2 | | 2022-06-30 | Refactored README, updated launch file & added `nvidia` namespace, dropped Jetson support for CenterPose | diff --git a/isaac_ros_centerpose/package.xml b/isaac_ros_centerpose/package.xml index 9cff0e3..508093b 100644 --- a/isaac_ros_centerpose/package.xml +++ b/isaac_ros_centerpose/package.xml @@ -21,7 +21,7 @@ isaac_ros_centerpose - 0.30.0 + 0.31.0 CenterPose: Pose Estimation using Deep Learning Hemal Shah diff --git a/isaac_ros_centerpose/setup.py b/isaac_ros_centerpose/setup.py index dbb862b..55ef176 100644 --- a/isaac_ros_centerpose/setup.py +++ b/isaac_ros_centerpose/setup.py @@ -24,7 +24,7 @@ setup( name=package_name, - version='0.30.0', + version='0.31.0', packages=[package_name], data_files=[ ('share/ament_index/resource_index/packages', diff --git a/isaac_ros_dope/config/dope_node.yaml b/isaac_ros_dope/config/dope_node.yaml index 47999ee..618af8c 100644 --- a/isaac_ros_dope/config/dope_node.yaml +++ b/isaac_ros_dope/config/dope_node.yaml @@ -1,6 +1,6 @@ %YAML 1.2 # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2022-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -48,35 +48,38 @@ components: transmitter: posearray_out min_size: 1 --- -name: vault +name: sink components: - name: signal type: nvidia::gxf::DoubleBufferReceiver parameters: - capacity: 1 + capacity: 2 policy: 0 - type: nvidia::gxf::MessageAvailableSchedulingTerm parameters: receiver: signal min_size: 1 -- name: vault - type: nvidia::gxf::Vault +- name: sink + type: nvidia::isaac_ros::MessageRelay parameters: source: signal - max_waiting_count: 1 - drop_waiting: false --- components: - name: edge0 type: nvidia::gxf::Connection parameters: source: dope_decoder/posearray_out - target: vault/signal + target: sink/signal --- components: -- type: nvidia::gxf::GreedyScheduler +- name: clock + type: nvidia::gxf::RealtimeClock +- type: nvidia::gxf::MultiThreadScheduler parameters: clock: clock stop_on_deadlock: false -- name: clock - type: nvidia::gxf::RealtimeClock + check_recession_period_ms: 1 + worker_thread_number: 2 +- type: nvidia::gxf::JobStatistics + parameters: + clock: clock diff --git a/isaac_ros_dope/package.xml b/isaac_ros_dope/package.xml index bf2216a..46fade4 100644 --- a/isaac_ros_dope/package.xml +++ b/isaac_ros_dope/package.xml @@ -21,7 +21,7 @@ isaac_ros_dope - 0.30.0 + 0.31.0 Deep learning based pose estimation Jaiveer Singh diff --git a/isaac_ros_dope/src/dope_decoder_node.cpp b/isaac_ros_dope/src/dope_decoder_node.cpp index 03de762..00d73af 100644 --- a/isaac_ros_dope/src/dope_decoder_node.cpp +++ b/isaac_ros_dope/src/dope_decoder_node.cpp @@ -1,5 +1,5 @@ // SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -// Copyright (c) 2021-2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +// Copyright (c) 2021-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -45,7 +45,7 @@ constexpr char INPUT_COMPONENT_KEY[] = "dope_decoder/tensorlist_in"; constexpr char INPUT_DEFAULT_TENSOR_FORMAT[] = "nitros_tensor_list_nchw_rgb_f32"; constexpr char INPUT_TOPIC_NAME[] = "belief_map_array"; -constexpr char OUTPUT_COMPONENT_KEY[] = "vault/vault"; +constexpr char OUTPUT_COMPONENT_KEY[] = "sink/sink"; constexpr char OUTPUT_DEFAULT_TENSOR_FORMAT[] = "nitros_pose_array"; constexpr char OUTPUT_TOPIC_NAME[] = "dope/pose_array";