Skip to content

Commit a4f9b05

Browse files
Merge pull request #78 from NVIDIA-ISAAC-ROS/release-3.2
FoundationPose symmetry and performance enhancements
2 parents 51cba92 + 2faf5ad commit a4f9b05

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+2932
-919
lines changed

isaac_ros_centerpose/CMakeLists.txt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,22 @@ set_target_properties(centerpose_visualizer_node PROPERTIES
4747

4848
if(BUILD_TESTING)
4949
find_package(ament_lint_auto REQUIRED)
50+
find_package(ament_cmake_gtest REQUIRED)
5051
ament_lint_auto_find_test_dependencies()
5152

53+
# Force use of ROS2 vendor googletest to avoid version conflicts
54+
set(CMAKE_IGNORE_PATH "/usr/src/googletest" ${CMAKE_IGNORE_PATH})
55+
set(CMAKE_IGNORE_PATH "/usr/include/gtest" ${CMAKE_IGNORE_PATH})
56+
set(CMAKE_IGNORE_PATH "/usr/include/gmock" ${CMAKE_IGNORE_PATH})
57+
58+
# Explicitly use ROS2 vendor googletest/gmock
59+
include_directories(BEFORE /opt/ros/humble/src/gtest_vendor/include)
60+
include_directories(BEFORE /opt/ros/humble/src/gmock_vendor/include)
61+
5262
# Gtest for decoder_node
5363
ament_add_gtest(centerpose_decoder_node_test test/centerpose_decoder_node_test.cpp)
5464
target_link_libraries(centerpose_decoder_node_test centerpose_decoder_node)
5565
target_include_directories(centerpose_decoder_node_test PUBLIC include/isaac_ros_centerpose/)
56-
target_include_directories(centerpose_decoder_node_test PUBLIC /usr/src/googletest/googlemock/include/)
5766
ament_target_dependencies(centerpose_decoder_node_test rclcpp)
5867
ament_target_dependencies(centerpose_decoder_node_test isaac_ros_nitros)
5968
# The FindPythonInterp and FindPythonLibs modules are removed

isaac_ros_centerpose/package.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
2222
<package format="3">
2323
<name>isaac_ros_centerpose</name>
24-
<version>3.2.5</version>
24+
<version>3.2.10</version>
2525
<description>CenterPose: Pose Estimation using Deep Learning</description>
2626

2727
<maintainer email="[email protected]">Isaac ROS Maintainers</maintainer>

isaac_ros_foundationpose/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,8 @@ if(BUILD_TESTING)
7676
find_package(launch_testing_ament_cmake REQUIRED)
7777
add_launch_test(test/isaac_ros_foundationpose_pol.py TIMEOUT "900")
7878
add_launch_test(test/isaac_ros_foundationpose_bbox_pol.py TIMEOUT "900")
79+
add_launch_test(test/isaac_ros_foundationpose_fixed_axis_angles_pol.py TIMEOUT "900")
80+
add_launch_test(test/isaac_ros_foundationpose_symmetry_axes_pol.py TIMEOUT "900")
7981
add_launch_test(test/isaac_ros_foundationpose_iterative_refine_pol.py TIMEOUT "900")
8082
add_launch_test(test/isaac_ros_foundationpose_tracking_pol.py TIMEOUT "900")
8183
endif()
Lines changed: 195 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,195 @@
1+
%YAML 1.2
2+
# SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES
3+
# Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
#
17+
# SPDX-License-Identifier: Apache-2.0
18+
---
19+
id: [0xd43f23e4b9bf11eb, 0x9d182b7be630552b]
20+
name: TensorRTExtension
21+
version: 2.0.0
22+
components:
23+
- id: [0x06a7f0e0b9c011eb, 0x8cd623c9c2070107]
24+
type: nvidia::gxf::TensorRtInference
25+
input_output_groups:
26+
- input_keys: [dummy_rx]
27+
output_keys: [tx]
28+
input_format_keys: []
29+
output_format_keys: []
30+
supported_formats:
31+
- platforms: [any]
32+
details:
33+
- input_formats: [nitros_tensor_list_nchw]
34+
output_formats: [nitros_tensor_list_nchw]
35+
costs:
36+
throughput: 10bytes/s
37+
latency: 10ms
38+
power: 100J
39+
accuracy: 100%
40+
- input_formats: [nitros_tensor_list_nhwc]
41+
output_formats: [nitros_tensor_list_nhwc]
42+
costs:
43+
throughput: 10bytes/s
44+
latency: 10ms
45+
power: 100J
46+
accuracy: 100%
47+
- input_formats: [nitros_tensor_list_nchw_rgb_f32]
48+
output_formats: [nitros_tensor_list_nhwc_rgb_f32]
49+
costs:
50+
throughput: 10bytes/s
51+
latency: 10ms
52+
power: 100J
53+
accuracy: 100%
54+
- input_formats: [nitros_tensor_list_nchw_bgr_f32]
55+
output_formats: [nitros_tensor_list_nhwc_bgr_f32]
56+
costs:
57+
throughput: 10bytes/s
58+
latency: 10ms
59+
power: 100J
60+
accuracy: 100%
61+
- input_formats: [nitros_tensor_list_nchw_rgb_f32]
62+
output_formats: [nitros_tensor_list_nchw_rgb_f32]
63+
costs:
64+
throughput: 10bytes/s
65+
latency: 10ms
66+
power: 100J
67+
accuracy: 100%
68+
---
69+
id: [0x5b942ff659bc4502, 0xa0b000b36b53f74f]
70+
name: FoundationPoseExtension
71+
version: 1.0.0
72+
components:
73+
- id: [0x835babbb1c2caac7, 0x8eb3b7e37a08230c]
74+
type: nvidia::isaac_ros::depth_image_proc::DepthToPointCloud
75+
input_output_groups:
76+
- input_keys: [depth_receiver]
77+
output_keys: [point_cloud_transmitter]
78+
input_format_keys: []
79+
output_format_keys: []
80+
supported_formats:
81+
- platforms: [any]
82+
details:
83+
- input_formats: [nitros_image_32FC1]
84+
output_formats: [nitros_point_cloud]
85+
costs:
86+
throughput: 10bytes/s
87+
latency: 10ms
88+
power: 100J
89+
accuracy: 100%
90+
- id: [0xa7cdaf12f3402b64, 0x9fb6c7e9a0de679a]
91+
type: nvidia::isaac::CameraMessageCompositor
92+
input_output_groups:
93+
- input_keys: [video_buffer_input,camera_model_input]
94+
output_keys: [camera_message_output]
95+
input_format_keys: []
96+
output_format_keys: []
97+
supported_formats:
98+
- platforms: [any]
99+
details:
100+
- input_formats: [nitros_image_rgb8,nitros_camera_info]
101+
output_formats: [nitros_image_rgb8]
102+
costs:
103+
throughput: 10bytes/s
104+
latency: 10ms
105+
power: 100J
106+
accuracy: 100%
107+
- input_formats: [nitros_image_32FC1,nitros_camera_info]
108+
output_formats: [nitros_image_32FC1]
109+
costs:
110+
throughput: 10bytes/s
111+
latency: 10ms
112+
power: 100J
113+
accuracy: 100%
114+
- id: [0x52138759e5824999, 0x8d26bd90e602d335]
115+
type: nvidia::isaac_ros::FoundationposeSampling
116+
input_output_groups:
117+
- input_keys: [depth_input, point_cloud_input, rgb_input, segmentation_input]
118+
output_keys: [output, point_cloud_output, rgb_output]
119+
input_format_keys: []
120+
output_format_keys: []
121+
supported_formats:
122+
- platforms: [any]
123+
details:
124+
- input_formats: [nitros_image_32FC1, nitros_point_cloud, nitros_image_rgb8, nitros_image_mono8]
125+
output_formats: [nitros_tensor_list_nchw, nitros_point_cloud, nitros_image_rgb8]
126+
costs:
127+
throughput: 10bytes/s
128+
latency: 10ms
129+
power: 100J
130+
accuracy: 100%
131+
- id: [0x52138759e5824998, 0x8d26bd90e603d335]
132+
type: nvidia::isaac_ros::FoundationPoseSynchronization
133+
input_output_groups:
134+
- input_keys: [inputs]
135+
output_keys: [outputs]
136+
input_format_keys: []
137+
output_format_keys: []
138+
supported_formats:
139+
- platforms: [any]
140+
details:
141+
- input_formats: [any]
142+
output_formats: [any]
143+
- id: [0x63138759e5624879, 0x4a95bd90e602d324]
144+
type: nvidia::isaac_ros::FoundationposeRender
145+
input_output_groups:
146+
- input_keys: [rgb_input, camera_model_input, pose_array_input, point_cloud_input]
147+
output_keys: [output]
148+
input_format_keys: []
149+
output_format_keys: []
150+
supported_formats:
151+
- platforms: [any]
152+
details:
153+
- input_formats: [nitros_image_rgb8, nitros_camera_info, nitros_tensor_list_nchw, nitros_point_cloud]
154+
output_formats: [nitros_tensor_list_nchw]
155+
costs:
156+
throughput: 10bytes/s
157+
latency: 10ms
158+
power: 100J
159+
accuracy: 100%
160+
- id: [0x97104bb7e89f2b2a, 0x9de6f7fd399a201d]
161+
type: nvidia::isaac_ros::FoundationposeTransformation
162+
input_output_groups:
163+
- input_keys: [refined_poses_input, poses_input]
164+
output_keys: [sliced_output, batched_output]
165+
input_format_keys: []
166+
output_format_keys: []
167+
supported_formats:
168+
- platforms: [any]
169+
details:
170+
- input_formats: [nitros_tensor_list_nchw, nitros_tensor_list_nchw]
171+
output_formats: [nitros_tensor_list_nchw, nitros_tensor_list_nchw]
172+
costs:
173+
throughput: 10bytes/s
174+
latency: 10ms
175+
power: 100J
176+
accuracy: 100%
177+
- id: [0x97104bb7e89f2b2a, 0x9de6f7fd399a201d]
178+
type: nvidia::isaac_ros::FoundationposeDecoder
179+
input_output_groups:
180+
- input_keys: [pose_array_input]
181+
output_keys: [output, pose_matrix_output]
182+
input_format_keys: []
183+
output_format_keys: []
184+
supported_formats:
185+
- platforms: [any]
186+
details:
187+
- input_formats: [nitros_tensor_list_nchw]
188+
output_formats: [nitros_detection3_d_array, nitros_tensor_list_nchw]
189+
costs:
190+
throughput: 10bytes/s
191+
latency: 10ms
192+
power: 100J
193+
accuracy: 100%
194+
- id: [0xf6bbcfd111984aeb, 0xb6dbf26d3125540f]
195+
type: nvidia::isaac_ros::MeshStorage

isaac_ros_foundationpose/config/namespace_injector_rule.yaml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,10 @@ body:
2323
- type: nvidia::gxf::TensorRtInference
2424
path_parameter_keys: [cuda_stream_pool, clock]
2525
- type: nvidia::isaac_ros::FoundationposeSampling
26-
path_parameter_keys: [cuda_stream_pool]
26+
path_parameter_keys: [cuda_stream_pool, mesh_storage]
2727
- type: nvidia::isaac_ros::FoundationposeRender
28-
path_parameter_keys: [cuda_stream_pool]
28+
path_parameter_keys: [cuda_stream_pool, mesh_storage]
2929
- type: nvidia::isaac_ros::FoundationposeTransformation
30-
path_parameter_keys: [cuda_stream_pool]
30+
path_parameter_keys: [cuda_stream_pool, mesh_storage]
3131
- type: nvidia::isaac_ros::FoundationposeDecoder
32-
path_parameter_keys: [cuda_stream_pool]
33-
- type: nvidia::isaac_ros::RenderReceptiveSchedulingTerm
34-
path_parameter_keys: [render_impl]
32+
path_parameter_keys: [cuda_stream_pool, mesh_storage]

0 commit comments

Comments
 (0)