Skip to content

Commit 269d8a4

Browse files
Merge pull request #50 from NVIDIA-ISAAC-ROS/release-3.2
Isaac ROS 3.2
2 parents faa471d + 4a38505 commit 269d8a4

29 files changed

+1468
-220
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,4 +87,4 @@ Please visit the [Isaac ROS Documentation](https://nvidia-isaac-ros.github.io/re
8787

8888
## Latest
8989

90-
Update 2024-09-26: Updated for Isaac ROS 3.1
90+
Update 2024-12-10: Support selecting camera module by index

gxf_isaac_camera_utils/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,10 @@ set_target_properties(${PROJECT_NAME} PROPERTIES
5050
# Install the binary file
5151
install(TARGETS ${PROJECT_NAME} DESTINATION share/${PROJECT_NAME}/gxf/lib)
5252

53+
54+
# Embed versioning information into installed files
55+
ament_index_get_resource(ISAAC_ROS_COMMON_CMAKE_PATH isaac_ros_common_cmake_path isaac_ros_common)
56+
include("${ISAAC_ROS_COMMON_CMAKE_PATH}/isaac_ros_common-version-info.cmake")
57+
generate_version_info(${PROJECT_NAME})
58+
5359
ament_auto_package(INSTALL_TO_SHARE)

gxf_isaac_camera_utils/package.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ SPDX-License-Identifier: Apache-2.0
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>gxf_isaac_camera_utils</name>
24-
<version>3.1.0</version>
24+
<version>3.2.0</version>
2525
<description>NvIsaacCameraUtilsExtension</description>
2626

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

isaac_ros_argus_camera/CMakeLists.txt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,18 +26,21 @@ execute_process(COMMAND uname -m COMMAND tr -d '\n' OUTPUT_VARIABLE ARCHITECTURE
2626
message( STATUS "Architecture: ${ARCHITECTURE}" )
2727

2828
find_package(ament_cmake_auto REQUIRED)
29+
find_package(Eigen3 REQUIRED NO_MODULE)
2930
ament_auto_find_build_dependencies()
3031

3132
ament_auto_add_library(argus_nitros_context SHARED src/argus_nitros_context.cpp)
3233

3334
ament_auto_add_library(base_node SHARED src/argus_camera_node.cpp)
35+
target_link_libraries(base_node Eigen3::Eigen)
3436
set_target_properties(base_node PROPERTIES
3537
BUILD_WITH_INSTALL_RPATH TRUE
3638
BUILD_RPATH_USE_ORIGIN TRUE
3739
INSTALL_RPATH_USE_LINK_PATH TRUE
3840
)
3941

4042
ament_auto_add_library(mono_node SHARED src/argus_camera_mono_node.cpp)
43+
target_link_libraries(mono_node Eigen3::Eigen)
4144
rclcpp_components_register_nodes(mono_node "nvidia::isaac_ros::argus::ArgusMonoNode")
4245
set(node_plugins "${node_plugins}nvidia::isaac_ros::argus::ArgusMonoNode;$<TARGET_FILE:mono_node>\n")
4346
set_target_properties(mono_node PROPERTIES
@@ -47,6 +50,7 @@ set_target_properties(mono_node PROPERTIES
4750
)
4851

4952
ament_auto_add_library(stereo_node SHARED src/argus_camera_stereo_node.cpp)
53+
target_link_libraries(stereo_node Eigen3::Eigen)
5054
rclcpp_components_register_nodes(stereo_node "nvidia::isaac_ros::argus::ArgusStereoNode")
5155
set(node_plugins "${node_plugins}nvidia::isaac_ros::argus::ArgusStereoNode;$<TARGET_FILE:stereo_node>\n")
5256
set_target_properties(stereo_node PROPERTIES
@@ -68,11 +72,20 @@ if(BUILD_TESTING)
6872
find_package(launch_testing_ament_cmake REQUIRED)
6973
# Only add camera tests if on Jetson platform
7074
if(${ARCHITECTURE} STREQUAL "aarch64")
75+
add_launch_test(test/isaac_ros_argus_camera_bench_test.py)
7176
add_launch_test(test/isaac_ros_argus_camera_mono_test.py)
7277
add_launch_test(test/isaac_ros_argus_camera_stereo_test.py)
7378
add_launch_test(test/isaac_ros_argus_camera_stereo_oss_rectify_compare.py)
7479
add_launch_test(test/isaac_ros_argus_camera_stereo_wide_fov_test.py)
80+
add_launch_test(test/isaac_ros_argus_camera_override_test.py)
81+
add_launch_test(test/isaac_ros_argus_camera_mono_override_test.py)
7582
endif() # aarch64
7683
endif()
7784

85+
86+
# Embed versioning information into installed files
87+
ament_index_get_resource(ISAAC_ROS_COMMON_CMAKE_PATH isaac_ros_common_cmake_path isaac_ros_common)
88+
include("${ISAAC_ROS_COMMON_CMAKE_PATH}/isaac_ros_common-version-info.cmake")
89+
generate_version_info(${PROJECT_NAME})
90+
7891
ament_auto_package(INSTALL_TO_SHARE config launch test)

isaac_ros_argus_camera/config/argus_camera_mono_node.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,13 @@ components:
3737
left_camera_output: left_camera_output
3838
right_camera_output: left_camera_output
3939
camera_id: 0
40-
module_id: 0
40+
module_id: -1
4141
mode: 0
4242
framerate: 30
4343
fsync_type: 1
4444
camera_type: 0
45-
output_format: 1
45+
output_format: 0
46+
use_hw_timestamp: false
4647
camera_provider: global_camera_provider/global_camera_provider
4748
analog_gain_1: 1.0
4849
analog_gain_2: 1.0

isaac_ros_argus_camera/config/argus_camera_stereo_node.yaml

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,13 @@ components:
4141
left_camera_output: left_camera_output
4242
right_camera_output: right_camera_output
4343
camera_id: 0
44-
module_id: 0
44+
module_id: -1
4545
mode: 0
4646
framerate: 30
4747
fsync_type: 1
4848
camera_type: 1
49-
output_format: 1
49+
output_format: 0
50+
use_hw_timestamp: false
5051
camera_provider: global_camera_provider/global_camera_provider
5152
analog_gain_1: 1.0
5253
analog_gain_2: 1.0
@@ -69,7 +70,6 @@ components:
6970
parameters:
7071
transmitter: right_camera_output
7172
min_size: 1
72-
7373
---
7474
name: rectify_parameters
7575
components:
@@ -245,7 +245,6 @@ components:
245245
type: nvidia::gxf::DoubleBufferTransmitter
246246
parameters:
247247
capacity: 1
248-
policy: 0
249248
- type: nvidia::gxf::DownstreamReceptiveSchedulingTerm
250249
parameters:
251250
transmitter: data_transmitter
@@ -315,7 +314,6 @@ components:
315314
type: nvidia::gxf::DoubleBufferReceiver
316315
parameters:
317316
capacity: 1
318-
policy: 0
319317
- type: nvidia::gxf::MessageAvailableSchedulingTerm
320318
parameters:
321319
receiver: signal
@@ -331,7 +329,6 @@ components:
331329
type: nvidia::gxf::DoubleBufferReceiver
332330
parameters:
333331
capacity: 1
334-
policy: 0
335332
- type: nvidia::gxf::MessageAvailableSchedulingTerm
336333
parameters:
337334
receiver: signal
@@ -347,7 +344,6 @@ components:
347344
type: nvidia::gxf::DoubleBufferReceiver
348345
parameters:
349346
capacity: 1
350-
policy: 0
351347
- type: nvidia::gxf::MessageAvailableSchedulingTerm
352348
parameters:
353349
receiver: signal
@@ -363,7 +359,6 @@ components:
363359
type: nvidia::gxf::DoubleBufferReceiver
364360
parameters:
365361
capacity: 1
366-
policy: 0
367362
- type: nvidia::gxf::MessageAvailableSchedulingTerm
368363
parameters:
369364
receiver: signal
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
%YAML 1.2
2+
# Copyright (c) 2022-2024, NVIDIA CORPORATION. All rights reserved.
3+
#
4+
# NVIDIA CORPORATION and its licensors retain all intellectual property
5+
# and proprietary rights in and to this software, related documentation
6+
# and any modifications thereto. Any use, reproduction, disclosure or
7+
# distribution of this software and related documentation without an express
8+
# license agreement from NVIDIA CORPORATION is strictly prohibited.
9+
---
10+
name: ArgusCameraMonoExtension
11+
version: 3.0.2
12+
components:
13+
- id: [0xb588dfe1eb627257, 0x9cb8b7ee7e86359a]
14+
type: nvidia::isaac::CameraProvider
15+
- id: [0xd94385e5b35b4634, 0x9adb0d214a3865f6]
16+
type: nvidia::isaac::PoseTree
17+
- id: [0xd0c4ddad486a4a91, 0xb69c8a5304b205ef]
18+
type: nvidia::isaac::PoseTreeSetup
19+
- id: [0xd0c4ddad486a4a91, 0xb69c8a5304b205ef]
20+
type: nvidia::isaac::AtlasFrontend
21+
- id: [0xd0c4ddad486a4a91, 0xb69c8a5304b205ef]
22+
type: nvidia::isaac::PoseTreeFrame
23+
- id: [0xd0c4ddad486a4a91, 0xb69c8a5304b205ef]
24+
type: nvidia::isaac::ArgusCamera
25+
format_remapping:
26+
nitros_image_nv12: 0
27+
nitros_image_nv24: 1
28+
input_output_groups:
29+
- input_keys: []
30+
output_keys: [left_camera_output]
31+
input_format_keys: []
32+
output_format_keys: [output_format]
33+
supported_formats:
34+
- platforms: [any]
35+
details:
36+
- input_formats: []
37+
output_formats: [nitros_image_nv12]
38+
costs:
39+
throughput: 10bytes/s
40+
latency: 10ms
41+
power: 100J
42+
accuracy: 100%
43+
- input_formats: []
44+
output_formats: [nitros_image_nv24]
45+
costs:
46+
throughput: 10bytes/s
47+
latency: 10ms
48+
power: 100J
49+
accuracy: 100%
50+
- id: [0xfc4d7b4d8fcc4daa, 0xa286056e0fcafa78]
51+
type: nvidia::isaac::tensor_ops::StreamConvertColorFormat
52+
format_remapping:
53+
nitros_image_rgb8: RGB_U8
54+
nitros_image_bgr8: BGR_U8
55+
nitros_image_rgba8: RGBA_U8
56+
nitros_image_bgra8: BGRA_U8
57+
nitros_image_mono8: Y_U8
58+
nitros_image_mono16: Y_U16
59+
nitros_image_rgb16: RGB_U16
60+
nitros_image_bgr16: BGR_U16
61+
nitros_image_nv12: NV12
62+
nitros_image_nv24: NV24
63+
input_output_groups:
64+
- input_keys: [receiver]
65+
output_keys: [transmitter]
66+
input_format_keys: []
67+
output_format_keys: [output_type]
68+
supported_formats:
69+
- platforms: [any]
70+
details:
71+
- input_formats: [nitros_image_nv24]
72+
output_formats: [nitros_image_nv24]
73+
costs:
74+
throughput: 10bytes/s
75+
latency: 10ms
76+
power: 100J
77+
accuracy: 100%
78+
- input_formats: [nitros_image_nv12]
79+
output_formats: [nitros_image_rgb8]
80+
costs:
81+
throughput: 10bytes/s
82+
latency: 10ms
83+
power: 100J
84+
accuracy: 100%
85+
- input_formats: [nitros_image_nv12]
86+
output_formats: [nitros_image_nv12]
87+
costs:
88+
throughput: 10bytes/s
89+
latency: 10ms
90+
power: 100J
91+
accuracy: 100%
92+
- id: [0xfc4d7b4d8fcc4daa, 0xa286056e0fcafa78]
93+
type: nvidia::isaac::tensor_ops::ImageAdapter
94+
- id: [0xfc4d7b4d8fcc4daa, 0xa286056e0fcafa78]
95+
type: nvidia::isaac::tensor_ops::TensorStream
96+
- id: [0xfc4d7b4d8fcc4daa, 0xa286056e0fcafa78]
97+
type: nvidia::isaac_ros::MessageSplitter
98+
input_output_groups:
99+
- input_keys: [rx]
100+
output_keys: [image_tx, camera_model_tx]
101+
input_format_keys: []
102+
output_format_keys: []
103+
supported_formats:
104+
- platforms: [any]
105+
details:
106+
- input_formats: [nitros_image_rgb8]
107+
output_formats: [nitros_image_rgb8, nitros_camera_info]
108+
costs:
109+
throughput: 10bytes/s
110+
latency: 10ms
111+
power: 100J
112+
accuracy: 100%
113+
- input_formats: [nitros_image_nv12]
114+
output_formats: [nitros_image_nv12, nitros_camera_info]
115+
costs:
116+
throughput: 10bytes/s
117+
latency: 10ms
118+
power: 100J
119+
accuracy: 100%
120+
- input_formats: [nitros_image_nv24]
121+
output_formats: [nitros_image_nv24, nitros_camera_info]
122+
costs:
123+
throughput: 10bytes/s
124+
latency: 10ms
125+
power: 100J
126+
accuracy: 100%

0 commit comments

Comments
 (0)