Skip to content

Commit f3fe349

Browse files
authored
Merge pull request #10 from NVIDIA-ISAAC-ROS/release-3.0
Isaac ROS 3.0.0
2 parents 62f3f35 + d04019a commit f3fe349

File tree

445 files changed

+32260
-17218
lines changed

Some content is hidden

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

445 files changed

+32260
-17218
lines changed

README.md

Lines changed: 44 additions & 33 deletions
Large diffs are not rendered by default.
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES
2+
# Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3+
#
4+
# Licensed under the Apache License, Version 2.0 (the "License");
5+
# you may not use this file except in compliance with the License.
6+
# You may obtain a copy of the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS,
12+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
# See the License for the specific language governing permissions and
14+
# limitations under the License.
15+
#
16+
# SPDX-License-Identifier: Apache-2.0
17+
18+
cmake_minimum_required(VERSION 3.22.1)
19+
project(isaac_ros_apriltag_benchmark LANGUAGES C CXX)
20+
21+
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
22+
add_compile_options(-Wall -Wextra -Wpedantic)
23+
endif()
24+
25+
find_package(ament_cmake_auto REQUIRED)
26+
find_package(ament_cmake_python REQUIRED)
27+
ament_auto_find_build_dependencies()
28+
29+
if(BUILD_TESTING)
30+
find_package(ament_lint_auto REQUIRED)
31+
32+
# Ignore copyright notices since we use custom NVIDIA Isaac ROS Software License
33+
set(ament_cmake_copyright_FOUND TRUE)
34+
35+
ament_lint_auto_find_test_dependencies()
36+
37+
# The FindPythonInterp and FindPythonLibs modules are removed
38+
if(POLICY CMP0148)
39+
cmake_policy(SET CMP0148 OLD)
40+
endif()
41+
endif()
42+
43+
ament_auto_package(INSTALL_TO_SHARE scripts)
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
<?xml version="1.0"?>
2+
3+
<!--
4+
SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
5+
6+
Licensed under the Apache License, Version 2.0 (the "License");
7+
you may not use this file except in compliance with the License.
8+
You may obtain a copy of the License at
9+
10+
http://www.apache.org/licenses/LICENSE-2.0
11+
12+
Unless required by applicable law or agreed to in writing, software
13+
distributed under the License is distributed on an "AS IS" BASIS,
14+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
See the License for the specific language governing permissions and
16+
limitations under the License.
17+
18+
SPDX-License-Identifier: Apache-2.0
19+
-->
20+
21+
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
22+
<package format="3">
23+
<name>isaac_ros_apriltag_benchmark</name>
24+
<version>3.0.0</version>
25+
<description>Scripts for benchmarking Isaac ROS Apriltag graphs</description>
26+
27+
<maintainer email="[email protected]">Isaac ROS Maintainers</maintainer>
28+
<license>NVIDIA Isaac ROS Software License</license>
29+
<url type="website">https://developer.nvidia.com/isaac-ros-gems/</url>
30+
<author>CY Chen</author>
31+
32+
<buildtool_depend>ament_cmake_auto</buildtool_depend>
33+
34+
<depend>rclpy</depend>
35+
36+
<depend>isaac_ros_benchmark</depend>
37+
<depend>isaac_ros_image_proc</depend>
38+
<depend>isaac_ros_apriltag</depend>
39+
40+
<test_depend>ament_lint_auto</test_depend>
41+
<test_depend>ament_lint_common</test_depend>
42+
43+
<export>
44+
<build_type>ament_cmake</build_type>
45+
</export>
46+
</package>

scripts/isaac_ros_apriltag_graph.py renamed to benchmarks/isaac_ros_apriltag_benchmark/scripts/isaac_ros_apriltag_graph.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES
2-
# Copyright (c) 2022-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2+
# Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
33
#
44
# Licensed under the Apache License, Version 2.0 (the "License");
55
# you may not use this file except in compliance with the License.
@@ -41,9 +41,9 @@
4141
IMAGE_RESOLUTION = ImageResolution.HD
4242
ROSBAG_PATH = 'datasets/r2b_dataset/r2b_storage'
4343

44+
4445
def launch_setup(container_prefix, container_sigterm_timeout):
4546
"""Generate launch description for benchmarking Isaac ROS AprilTag graph."""
46-
4747
rectify_node = ComposableNode(
4848
name='RectifyNode',
4949
package='isaac_ros_image_proc',
@@ -138,6 +138,7 @@ def launch_setup(container_prefix, container_sigterm_timeout):
138138

139139
return [composable_node_container]
140140

141+
141142
def generate_test_description():
142143
return TestIsaacROSAprilTagGraph.generate_test_description_with_nsys(launch_setup)
143144

scripts/isaac_ros_apriltag_node.py renamed to benchmarks/isaac_ros_apriltag_benchmark/scripts/isaac_ros_apriltag_node.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES
2-
# Copyright (c) 2022-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2+
# Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
33
#
44
# Licensed under the Apache License, Version 2.0 (the "License");
55
# you may not use this file except in compliance with the License.
@@ -40,6 +40,7 @@
4040
IMAGE_RESOLUTION = ImageResolution.HD
4141
ROSBAG_PATH = 'datasets/r2b_dataset/r2b_storage'
4242

43+
4344
def launch_setup(container_prefix, container_sigterm_timeout):
4445
"""Generate launch description for benchmarking Isaac ROS AprilTagNode."""
4546
apriltag_node = ComposableNode(
@@ -122,6 +123,7 @@ def launch_setup(container_prefix, container_sigterm_timeout):
122123

123124
return [composable_node_container]
124125

126+
125127
def generate_test_description():
126128
return TestIsaacROSAprilTagNode.generate_test_description_with_nsys(launch_setup)
127129

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES
2+
# Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3+
#
4+
# Licensed under the Apache License, Version 2.0 (the "License");
5+
# you may not use this file except in compliance with the License.
6+
# You may obtain a copy of the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS,
12+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
# See the License for the specific language governing permissions and
14+
# limitations under the License.
15+
#
16+
# SPDX-License-Identifier: Apache-2.0
17+
18+
cmake_minimum_required(VERSION 3.22.1)
19+
project(isaac_ros_argus_camera_benchmark LANGUAGES C CXX)
20+
21+
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
22+
add_compile_options(-Wall -Wextra -Wpedantic)
23+
endif()
24+
25+
find_package(ament_cmake_auto REQUIRED)
26+
find_package(ament_cmake_python REQUIRED)
27+
ament_auto_find_build_dependencies()
28+
29+
if(BUILD_TESTING)
30+
find_package(ament_lint_auto REQUIRED)
31+
32+
# Ignore copyright notices since we use custom NVIDIA Isaac ROS Software License
33+
set(ament_cmake_copyright_FOUND TRUE)
34+
35+
ament_lint_auto_find_test_dependencies()
36+
37+
# The FindPythonInterp and FindPythonLibs modules are removed
38+
if(POLICY CMP0148)
39+
cmake_policy(SET CMP0148 OLD)
40+
endif()
41+
endif()
42+
43+
ament_auto_package(INSTALL_TO_SHARE scripts)
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
<?xml version="1.0"?>
2+
3+
<!--
4+
SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
5+
6+
Licensed under the Apache License, Version 2.0 (the "License");
7+
you may not use this file except in compliance with the License.
8+
You may obtain a copy of the License at
9+
10+
http://www.apache.org/licenses/LICENSE-2.0
11+
12+
Unless required by applicable law or agreed to in writing, software
13+
distributed under the License is distributed on an "AS IS" BASIS,
14+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
See the License for the specific language governing permissions and
16+
limitations under the License.
17+
18+
SPDX-License-Identifier: Apache-2.0
19+
-->
20+
21+
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
22+
<package format="3">
23+
<name>isaac_ros_argus_camera_benchmark</name>
24+
<version>3.0.0</version>
25+
<description>Scripts for benchmarking Isaac ROS Argus camera graphs</description>
26+
27+
<maintainer email="[email protected]">Isaac ROS Maintainers</maintainer>
28+
<license>NVIDIA Isaac ROS Software License</license>
29+
<url type="website">https://developer.nvidia.com/isaac-ros-gems/</url>
30+
<author>CY Chen</author>
31+
32+
<buildtool_depend>ament_cmake_auto</buildtool_depend>
33+
34+
<depend>rclpy</depend>
35+
36+
<depend>isaac_ros_benchmark</depend>
37+
<depend>isaac_ros_argus_camera</depend>
38+
39+
<test_depend>ament_lint_auto</test_depend>
40+
<test_depend>ament_lint_common</test_depend>
41+
42+
<export>
43+
<build_type>ament_cmake</build_type>
44+
</export>
45+
</package>

scripts/isaac_ros_argus_stereo_node.py renamed to benchmarks/isaac_ros_argus_camera_benchmark/scripts/isaac_ros_argus_stereo_node.py

Lines changed: 48 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES
2-
# Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2+
# Copyright (c) 2023-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
33
#
44
# Licensed under the Apache License, Version 2.0 (the "License");
55
# you may not use this file except in compliance with the License.
@@ -29,13 +29,14 @@
2929
from launch_ros.actions import ComposableNodeContainer
3030
from launch_ros.descriptions import ComposableNode
3131

32-
from ros2_benchmark import ImageResolution
3332
from ros2_benchmark import BasicPerformanceCalculator, BenchmarkMode
34-
from ros2_benchmark import ROS2BenchmarkConfig, ROS2BenchmarkTest
33+
from ros2_benchmark import ImageResolution
3534
from ros2_benchmark import MonitorPerformanceCalculatorsInfo
35+
from ros2_benchmark import ROS2BenchmarkConfig, ROS2BenchmarkTest
3636

3737
IMAGE_RESOLUTION = ImageResolution.HD
3838

39+
3940
def launch_setup(container_prefix, container_sigterm_timeout):
4041
"""Generate launch description for live benchmarking Isaac ROS ArgusStereoNode."""
4142
argus_node = ComposableNode(
@@ -61,19 +62,45 @@ def launch_setup(container_prefix, container_sigterm_timeout):
6162
remappings=[('output', 'left/image_raw')]
6263
)
6364

65+
left_camera_info_monitor_node = ComposableNode(
66+
name='LeftCameraInfoMonitorNode',
67+
namespace=TestIsaacROSArgusStereoNode.generate_namespace(),
68+
package='isaac_ros_benchmark',
69+
plugin='isaac_ros_benchmark::NitrosMonitorNode',
70+
parameters=[{
71+
'monitor_index': 1,
72+
'monitor_data_format': 'nitros_camera_info',
73+
'use_nitros_type_monitor_sub': True,
74+
}],
75+
remappings=[('output', 'left/camera_info')]
76+
)
77+
6478
right_image_monitor_node = ComposableNode(
6579
name='RightImageMonitorNode',
6680
namespace=TestIsaacROSArgusStereoNode.generate_namespace(),
6781
package='isaac_ros_benchmark',
6882
plugin='isaac_ros_benchmark::NitrosMonitorNode',
6983
parameters=[{
70-
'monitor_index': 1,
84+
'monitor_index': 2,
7185
'monitor_data_format': 'nitros_image_rgb8',
7286
'use_nitros_type_monitor_sub': True,
7387
}],
7488
remappings=[('output', 'right/image_raw')]
7589
)
7690

91+
right_camera_info_monitor_node = ComposableNode(
92+
name='RightCameraInfoMonitorNode',
93+
namespace=TestIsaacROSArgusStereoNode.generate_namespace(),
94+
package='isaac_ros_benchmark',
95+
plugin='isaac_ros_benchmark::NitrosMonitorNode',
96+
parameters=[{
97+
'monitor_index': 3,
98+
'monitor_data_format': 'nitros_camera_info',
99+
'use_nitros_type_monitor_sub': True,
100+
}],
101+
remappings=[('output', 'right/camera_info')]
102+
)
103+
77104
composable_node_container = ComposableNodeContainer(
78105
name='container',
79106
namespace=TestIsaacROSArgusStereoNode.generate_namespace(),
@@ -84,13 +111,16 @@ def launch_setup(container_prefix, container_sigterm_timeout):
84111
composable_node_descriptions=[
85112
argus_node,
86113
left_image_monitor_node,
114+
left_camera_info_monitor_node,
87115
right_image_monitor_node,
116+
right_camera_info_monitor_node,
88117
],
89118
output='screen'
90119
)
91120

92121
return [composable_node_container]
93122

123+
94124
def generate_test_description():
95125
return TestIsaacROSArgusStereoNode.generate_test_description_with_nsys(launch_setup)
96126

@@ -108,16 +138,28 @@ class TestIsaacROSArgusStereoNode(ROS2BenchmarkTest):
108138
custom_report_info={'data_resolution': IMAGE_RESOLUTION},
109139
monitor_info_list=[
110140
MonitorPerformanceCalculatorsInfo(
111-
'start_monitoring0',
141+
'monitor_node0',
112142
[BasicPerformanceCalculator({
113143
'report_prefix': 'Argus Left Image',
114144
'message_key_match': True
115145
})]),
116146
MonitorPerformanceCalculatorsInfo(
117-
'start_monitoring1',
147+
'monitor_node1',
148+
[BasicPerformanceCalculator({
149+
'report_prefix': 'Argus Left Camera Info',
150+
'message_key_match': True
151+
})]),
152+
MonitorPerformanceCalculatorsInfo(
153+
'monitor_node2',
118154
[BasicPerformanceCalculator({
119155
'report_prefix': 'Argus Right Image',
120156
'message_key_match': True
157+
})]),
158+
MonitorPerformanceCalculatorsInfo(
159+
'monitor_node3',
160+
[BasicPerformanceCalculator({
161+
'report_prefix': 'Argus Right Camera Info',
162+
'message_key_match': True
121163
})])
122164
]
123165
)
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES
2+
# Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3+
#
4+
# Licensed under the Apache License, Version 2.0 (the "License");
5+
# you may not use this file except in compliance with the License.
6+
# You may obtain a copy of the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS,
12+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
# See the License for the specific language governing permissions and
14+
# limitations under the License.
15+
#
16+
# SPDX-License-Identifier: Apache-2.0
17+
18+
cmake_minimum_required(VERSION 3.22.1)
19+
project(isaac_ros_bi3d_benchmark LANGUAGES C CXX)
20+
21+
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
22+
add_compile_options(-Wall -Wextra -Wpedantic)
23+
endif()
24+
25+
find_package(ament_cmake_auto REQUIRED)
26+
find_package(ament_cmake_python REQUIRED)
27+
ament_auto_find_build_dependencies()
28+
29+
if(BUILD_TESTING)
30+
find_package(ament_lint_auto REQUIRED)
31+
32+
# Ignore copyright notices since we use custom NVIDIA Isaac ROS Software License
33+
set(ament_cmake_copyright_FOUND TRUE)
34+
35+
ament_lint_auto_find_test_dependencies()
36+
37+
# The FindPythonInterp and FindPythonLibs modules are removed
38+
if(POLICY CMP0148)
39+
cmake_policy(SET CMP0148 OLD)
40+
endif()
41+
endif()
42+
43+
ament_auto_package(INSTALL_TO_SHARE scripts)

0 commit comments

Comments
 (0)